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

ARM的程式設計師敲著詩歌的夢發表於2020-04-04

故障解決: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/

相關文章