(注意:下面的二进制和二进制和库的名称被混淆以保护无辜者。;-) 该应用程序在 NDA 下是专有的,但行为可能不依赖于它。)
我有一个 Linux 二进制文件,它在运行时会打印以下错误:
二进制:加载共享库时出错:libshared.so:无法打开共享对象文件:没有这样的文件或目录
这本身就令人困惑,因为 libshared.so 在 LD_LIBRARY_PATH 中。然而,
运行时正确找到库
ldd binary
(即ldd输出指向文件位置)运行时正确找到该库
strace binary
,以便程序设法打印其使用信息!
我从未见过单独运行与在 strace 中运行时表现不同的应用程序,但我想也许其他人以前见过这种情况?任何想法如何解决这个问题?
我没有源,所以我无法重建。在 strace 下在生产环境中运行该应用程序可能不是一个初学者。操作系统是 RHEL 6.2。