故障解决:error while loading shared libraries: libncurses.so.5

2023-05-16

故障解决:error while loading shared libraries: libncurses.so.5

问题的提出

在我准备调试 Linux-0.11 内核的时候,出现了如下故障(真奇怪,以前没有这个问题啊,怎么突然就这样了,555555555……)

/rungdb

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

即执行gdb的时候,报错libncurses.so.5: cannot open shared object file

找不到libncurses.so.5

搜了一波后,解决办法是安装libncurses5:i386

于是我执行命令:

sudo apt-get install libncurses5:i386

安装完成后,再次尝试

./rungdb

继续报错

./gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory

找不到libexpat.so.1

至少有2种解决方法:一是安装libexpat1-dev:i386,二是创建一个软连接。

思路一

sudo apt-get install libexpat1-dev:i386

结果就是有了 /lib/i386-linux-gnu/libexpat.so.1

实际上/lib/i386-linux-gnu/libexpat.so.1 是个软连接,它指向/lib/i386-linux-gnu/libexpat.so.1.6.0

思路二

搜索名称包含libexpat.so的文件,我发现了/usr/lib/vmware-tools/lib32/libexpat.so.0/libexpat.so.0,也许可以创建一个软连接(相当于windows系统的快捷方式),让/usr/lib/libexpat.so.1(链接名)指向/usr/lib/vmware-tools/lib32/libexpat.so.0/libexpat.so.0(目标)。

命令是

sudo ln -s /usr/lib/vmware-tools/lib32/libexpat.so.0/libexpat.so.0 /usr/lib/libexpat.so.1

试了一下,问题得到解决。

参考资料

http://chunyingy.blog.163.com/blog/static/34128913201122310618901/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

故障解决:error while loading shared libraries: libncurses.so.5 的相关文章