库链接到/ usr / lib64,但我需要/ usr / local / lib64中的一个

时间:2013-05-19 06:46:36

标签: linux linker

我遇到了这个奇怪的问题

ag: /usr/lib64/liblzma.so.5: no version information available (required by ag)

出于某种原因,预装的库并不好。好的,所以我从源码安装了liblzma,但是如何链接呢? makefile已经说:

-L/usr/local/lib64 -llzma 

但是结果是,默认情况下仍然会显示/ usr / lib64:ldd ag

liblzma.so.5 => /usr/lib64/liblzma.so.5

2 个答案:

答案 0 :(得分:1)

更新/etc/ld.so.conf以在/ usr / lib64之前创建/ usr / local / lib64? 然后以root身份运行ldconfig

答案 1 :(得分:1)

  

出于某种原因,预装的库不好。

您最好的办法是尝试找出为什么预安装的库不好,并找出根本原因。

如果你不能,那么下一个最好的办法是用ag构建可执行文件-Wl,-rpath=/usr/local/lib64

更新/etc/ld.so.conf(由frostyplanet建议)可能是最糟糕的解决方案:它会影响系统上的每个可执行文件。如果你开始在/ usr / local / lib64中安装更多东西,当前正在运行的应用程序可能会突然以不可预测的方式破坏。

相关问题