【发布时间】:2013-07-15 09:36:41
【问题描述】:
$ uname -a
Linux xhost10.bcgsc.ca 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:14 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
$ /sbin/ldconfig --version
ldconfig (GNU libc) 2.5
我正在本地安装几个二进制文件和库,因为我没有 root 访问权限。
一些程序需要在运行时动态链接到非标准位置的共享库。
执行时,程序返回:
$ path/to/cc1
path/to/cc1: error while loading shared libraries: libmpc.so.3: cannot open shared object file: No such file or directory
我已经添加了库 $LD_LIBRARY_PATH 的路径,但如果没有 root 访问权限,我无法更新 ldconfig 缓存...
是否有特定于用户的/etc/ld.so.cache?
或者更一般地说,是否可以使用用户配置文件“屏蔽”系统配置文件?
【问题讨论】:
-
我可以通过在 ~/.bashrc 中导出 LD_LIBRARY_PATH 并重新登录来让 ld.so 找到共享库。运行在 LD_LIBRARY_PATH 中动态加载库的二进制文件似乎需要更长的时间来初始化(共享网络文件系统),但至少它们运行......
标签: linux centos shared-libraries ldd library-path