Discuz! BBS

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 104|回复: 0

ld 命令

[复制链接]

504

主题

691

帖子

4099

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4099
发表于 2026-4-12 06:33:59 | 显示全部楼层 |阅读模式
假设Apache 启动时加载 mod_wsgi 模块失败了,原因是系统找不到 Python 3.6 的动态链接库文件 libpython3.6m.so.1.0
这通常发生在你使用源码编译安装了 Python 3.6,但系统(以及 Apache)并不知道这个库文件在哪里。
别担心,我们可以通过配置系统库路径来解决这个问题。请按照以下步骤操作:

第一步:找到缺失的库文件
首先,我们需要确认 libpython3.6m.so.1.0 文件确实在你的系统中,并找到它的确切位置。
在终端执行以下命令:

  1. sudo find / -name "libpython3.6m.so.1.0" 2>/dev/null
复制代码

预期结果:
你会得到一个类似这样的路径(请记下这个路径):
/usr/local/lib/libpython3.6m.so.1.0
或者
/home/yiq/.../libpython3.6m.so.1.0
第二步:配置系统识别该库(推荐方法)
找到文件后,我们需要告诉操作系统:“去这个目录里找库文件”。最标准的方法是将其添加到系统的库配置中。
创建配置文件
在 /etc/ld.so.conf.d/ 目录下创建一个新的配置文件(假设你找到的文件在 /usr/local/lib):


  1. sudo nano /etc/ld.so.conf.d/python3.6.conf
  2. 写入如下内容:
  3. /usr/loclal/lib
  4. (如果你的文件在其他目录,比如 /home/yiq/python36/lib,请填写对应的路径)
复制代码


更新缓存
保存文件后(在 nano 中按 Ctrl+O 回车保存,Ctrl+X 退出),立即运行以下命令更新系统库缓存:

  1. sudo ldconfig
  2. 如果找不到文件
  3. sudo /sbin/ldconfig
复制代码

举一个需要LD 的例子:  ldd    这个看你用了哪些调用库:
  1. ldd python3.6
  2.         linux-vdso.so.1 (0x00007fff6c3df000)
  3.         /lib/x86_64-linux-gnu/libonion.so (0x00007fead1300000)
  4.         libpython3.6dm.so.1.0 => /usr/local/lib/libpython3.6dm.so.1.0 (0x00007fead0e00000)
  5.         libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fead0c1e000)
  6.         libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fead1427000)
  7.         libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fead1220000)
  8.         /lib64/ld-linux-x86-64.so.2 (0x00007fead143a000)
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2026-5-16 14:40 , Processed in 0.014117 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表