这是一个令人头疼的问题。
以下是输出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 位的库,现在一切正常。