![我无法使用 JHBuild 构建 gudev](https://linux22.com/image/16490/%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20JHBuild%20%E6%9E%84%E5%BB%BA%20gudev.png)
当我跑步时jhbuild buildone gudev
我得到:
<SNIP>
Making all in .
CC extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo
CC extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo
CC extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo
CC extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo
CCLD extras/gudev/libgudev-1.0.la
GEN extras/gudev/GUdev-1.0.gir
/opt/gnome/bin/python: error while loading shared libraries: libpython2.5.so.1.0: cannot open shared object file: No such file or directory
make[2]: *** [extras/gudev/GUdev-1.0.gir] Error 127
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
*** Error during phase build of gudev: ########## Error running make *** [1/1]
笔记:
- 我确认我确实有/opt/gnome/lib/libpython2.5.so.1.0。
- 在撰写本文时,我正在运行最新的 JHBuild。
- 我曾经
jhbuild bootstrap --ignore-system
避免 Debian 软件包可能出现的任何不兼容问题。请注意,Python 2.5 so 文件是通过此命令构建和安装的。
答案1
您已将共享库安装在非标准位置,因此找不到它。
/opt/gnome/lib
如果您希望所有程序自动使用中的库,请将此目录添加到/etc/ld.so.conf
,然后运行ldconfig
(以 root 身份)。如果/etc/ld.so.conf
包含类似 的行include /etc/ld.so.conf.d/*.conf
,则不要将条目直接添加到/etc/ld.so.conf
,而是创建一个文件/etc/ld.so.conf.d/tshepang.conf
并添加/opt/gnome/lib
到该文件。
如果您只想/opt/gnome/lib
根据请求使用其中的库,或者没有 root 权限,请将该目录添加到LD_LIBRARY_PATH
环境变量中。 (这是一个以冒号分隔的列表,就像 一样PATH
,但用于库而不是可执行文件。)
第三种可能性是告诉/opt/gnome/bin/python
二进制文件在 中查找库/opt/gnome/lib
,但在构建可执行文件时必须这样做。检查 JHBuild 文档中是否有类似“路径”或“运行时库路径”。