怎么看完整的' ldd'路径详细信息,而不是"找不到文件"?

时间:2014-05-29 13:05:50

标签: ldd

当路径不存在时运行ldd命令我得到'找不到文件'而不是路径。 bash-3.2 $ ldd curl         libcurl.so.4 => /usr/local/lib/libcurl.so.4         libldap.so.5 => /usr/lib/libldap.so.5         librt.so.1 => /lib/librt.so.1         libssl.so.1.0.0 => (文件未找到)         libcrypto.so.1.0.0 => (找不到档案)

是否有选项可以查看找不到哪个文件?完整的路径?

1 个答案:

答案 0 :(得分:3)

ldd正在/etc/ld.so.conf中提到的库搜索路径中进行搜索。或者它可能使用环境变量LD_LIBRARY_PATH。据我所知,它至少在/ usr / local / lib,/ usr / lib和/ lib中看起来是大多数系统的默认设置。它无法在这三个位置找到libssl.so.1.0.0。这就是为什么你找不到'文件的原因'消息。

一个原因可能是您没有安装libssl.so.1.0.0。也许是其他一些版本。

另一个原因可能是它安装在其他地方。需要加载共享库的应用程序将该路径硬编码或使用LD_LIBRARY_PATH。

无论如何,回答你的问题:ldd无法找到libssl.so.1.0.0的完整路径,这就是你得到错误的原因。

要找到它,你必须手动搜索它。一个简单的方法是

find / -ls | grep libssl.so

或更好(如果您只想搜索系统磁盘)

find / -mount -ls | grep libssl.so

可能导致在多个位置安装了许多版本。