如何找出程序在哪里寻找库

时间:2014-01-21 13:11:37

标签: linux

前几天我遇到了一个linux命令,让我看看程序期望找到它的库。对于不那么流行或专有的软件,解决库依赖问题非常有用。我使用ldd,它提供的内容非常丰富,但却错过了一条关键信息:

ldd -v ./my_executable my_executable可以链接到的图书馆提供了很好的信息。 但对于那些无法链接/查找的人,ldd只提供了以下信息:

<a_library_name.so.version> => not found

我想要的是,而不是“未找到”,我想看到

not found at /path/to/<a_library_name.so.version>

3 个答案:

答案 0 :(得分:4)

在linux上你可以使用LD_DEBUG。这个link很有帮助。

答案 1 :(得分:1)

有关库路径的信息存储在/etc/ld.so.conf

/usr/local/lib64
/usr/local/lib
include /etc/ld.so.conf.d/*.conf
# /lib64, /lib, /usr/lib64 and /usr/lib gets added
# automatically by ldconfig after parsing this file.
# So, they do not need to be listed.

有关详细信息,请参阅man ldconfig

答案 2 :(得分:1)

您可能需要strace命令 看看http://www.thegeekstuff.com/2011/11/strace-examples/