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
将影响每个已安装的应用程序,并且可能在现在或将来产生不可预测的后果。如果新库正确,事实上,我不明白为什么不替换不正确的一个。。。