未找到库文件,即使它们已在 ldconfig 中列出

未找到库文件,即使它们已在 ldconfig 中列出

这是一个令人头疼的问题。

以下是输出ldconfig -p | grep libncur*

libncursesw.so.5 (libc6,x86-64) => /usr/lib64/libncursesw.so.5
libncursesw.so (libc6,x86-64) => /usr/lib64/libncursesw.so
libncurses.so.5 (libc6,x86-64) => /usr/lib/libncurses.so.5
libncurses.so.5 (libc6,x86-64) => /usr/lib64/libncurses.so.5
libncurses.so.5 (libc6,x86-64) => /lib/libncurses.so.5
libncurses.so (libc6,x86-64) => /usr/lib64/libncurses.so

这是我得到的错误:

/cass/bin/m050ub02: error while loading shared libraries: libncurses.so.5: cannot open shared object file: No such file or directory

显然,这些库已在 ldconfig 缓存中列出,但似乎找不到它们。

答案1

尝试这个:

strace -e open /cass/bin/m050ub02

这应该告诉您二进制文件正在尝试打开什么。也尝试一下

echo $LD_LIBRARY_PATH

看看你的图书馆是否在那里。如果没有,请尝试将它们符号链接到该路径上的某个位置。

答案2

问题已经解决了。事实证明它们是 64 位的库,我找到了 32 位的库,现在一切正常。

相关内容