Linux 库链接到/usr/lib64,但我需要/usr/local/lib64中的链接
我遇到了一个奇怪的问题Linux 库链接到/usr/lib64,但我需要/usr/local/lib64中的链接,linux,linker,Linux,Linker,我遇到了一个奇怪的问题 ag: /usr/lib64/liblzma.so.5: no version information available (required by ag) 由于某些原因,预安装的库不好。好的,我是从源代码安装liblzma的,但是我如何链接它呢?makefile已经说明: -L/usr/local/lib64 -llzma 但结果是,默认情况下仍然需要/usr/lib64:lddag liblzma.so.5 => /usr/lib64/liblzma.so
ag: /usr/lib64/liblzma.so.5: no version information available (required by ag)
由于某些原因,预安装的库不好。好的,我是从源代码安装liblzma的,但是我如何链接它呢?makefile已经说明:
-L/usr/local/lib64 -llzma
但结果是,默认情况下仍然需要/usr/lib64:lddag
liblzma.so.5 => /usr/lib64/liblzma.so.5
是否在/usr/lib64之前将/etc/ld.so.conf更新为/usr/local/lib64? 然后以root用户身份运行ldconfig 由于某些原因,预安装的库不好 最好的办法是找出预装库不好的原因,并修复根本原因 如果不能,下一个最佳选择是使用
-Wl,-rpath=/usr/local/lib64
构建可执行文件ag
更新
/etc/ld.so.conf
(如frostyplanet所建议的)可能是最糟糕的解决方案:它将影响系统上的每个可执行文件。如果您开始在/usr/local/lib64中安装更多内容,当前工作的应用程序可能会突然以不可预测的方式中断。更新/etc/ld.so.conf
将影响每个已安装的应用程序,并且可能在现在或将来产生不可预测的后果。如果新库正确,事实上,我不明白为什么不替换不正确的一个。。。