gpt4 book ai didi

c - ldd 命令在某个任意位置搜索库

转载 作者:行者123 更新时间:2023-11-30 16:03:37 27 4
gpt4 key购买 nike

我在可执行文件上运行 truss 命令并得到以下输出:

stat64("/net/xyzmachine/vol/tools/solx64/studio11/SUNWspro/lib/rw7/librt.so.1", 0x080474A0)(正在 sleep ...)stat64("/net/xyzmachine/vol/tools/solx64/studio11/SUNWspro/lib/rw7/librt.so.1", 0x080474A0) Err#2 ENOENTstat64("/net/xyzmachine/vol/tools/solx64/studio11/SUNWspro/lib/librt.so.1", 0x080474A0)(正在 sleep ...)

我查看了 buildhost 的构建日志和环境,但 LD_LIB_PATH、LIBPATH、LD_RUN_PATH 值未指向此位置。我无法从该值的来源获得该值?

有人可以帮助我理解这一点吗? lib搜索路径是如何决定的?同样的情况如何解决?

最佳答案

也许这个库是您的应用程序的某些依赖项的依赖项。 ldd 递归地打印您的应用程序或其依赖项所依赖的所有共享库。

它在 /etc/ld.so.conf (/etc/ld.so.conf.d/) 或 LD_LIBRARY_PATH 中描述的路径中搜索库。

请注意,rpath 也可以在共享库本身中设置。

更多信息请点击:Program-Library-HOWTO

关于c - ldd 命令在某个任意位置搜索库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3864882/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com