确保 /usr/lib{64} 中的库在 /etc/ld.so.conf 中定义的库之前被找到。

确保 /usr/lib{64} 中的库在 /etc/ld.so.conf 中定义的库之前被找到。

我运行的是 Fedora 15 x86_64,安装了 Oracle 11 客户端,并且配置了一个/etc/ld.so.conf.d/oracle.conf文件,以便我可以自动获取客户端共享对象文件。但是 Oracle 还附带了其他共享对象,我想要覆盖系统库(在本例中是 libexpat)。

/usr/lib64由于文件中没有定义ld.so.conf,我如何使其成为ld.so搜索共享对象的第一个目录?

答案1

您可以将该定义添加到/etc/ld.so.conf您自己的文件中(我认为它会按字母顺序选择它们,您需要进行实验),因此/etc/ld.so.conf.d/a.conf应该首先选择。请确保/sbin/ldconfig在更改或添加先前的文件后运行。

作为最后的手段,您可以使用变量LD_LIBRARY_PATH。有一些不错的信息这里这里关于为什么如果可以帮助的话不使用该变量。

相关内容