遇到***:error while loading shared libraries:***cannot open***該怎麼辦?——附ubuntu19.04的libgtk-x11-2.0.so.0


文末有針對 ubuntu19.04 解決

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

部分軟件打不開,網頁看不了虎牙的視頻直播等。

的辦法

解決libgtk-x11-2.0.so.0



說起來這種問題,喵哥遇到過很多次了,之前由於擔心自己新搭的系統會搞崩,又得費時間搞一次,所以一再忍耐,今天實在是忍無可忍了。

由於ubuntu出現了耳機沒有聲音的情況,按照以前的解決方案:elementaryOS(基於Ubuntu16.04.5 LTS)耳機沒有聲音的解決之路 通常只需要安裝pavucontrol就可以了:

sudo apt-get install pavucontrol

然而,在運行pavucontrol的時候就遇到妖蛾子

pavucontrol: error while loading shared libraries: libglibmm-2.4.so.1: cannot open shared object file: No such file or directory

這個問題的問題主要是由於庫文件不存在,或者是庫文件的版本有點老了。網上的很多方法都是在解決庫文件不存在的情況,而事實證明喵哥遇到的是庫文件版本不夠新,那麼更新庫文件即可,硬核一點的方法是去網上搜索想要的庫文件,這個網址蠻好用的,https://pkgs.org/

偷懶一點的辦法就是把這個老版本的庫文件卸載了,然後再安裝一遍依賴這個庫文件的軟件(通常就是你正想運行的那個軟件,卸載老的庫文件往往會把這個軟件給一起卸載了),比如喵哥遇到的這個問題,libglibmm-2.4.so.1不夠新,用dpkg --list列出安裝庫文件的全稱:

dpkg --list | grep libglibmm

在查找的時候最好不要加上後面的版本號,有可能還搜不到

然後卸載掉這個庫(需要注意的是,卸載庫文件有時候會牽扯到很多軟件,這個時候就要權衡一下了,看你願不願意刪除這些軟件,再次安裝,並且有的庫文件即使是卸載之後,再次安裝軟件也不一定合格,所以推薦對症下藥。比如,卸載 libglibmm-2.4-1v5:amd64只會刪除pavucontrol這個軟件。):

sudo apt-get remove libglibmm-2.4-1v5:amd64

如上所示,在卸載庫文件的時候,依賴他的軟件確實會被卸載,然後再安裝一遍pavucontrol

sudo apt-get install pavucontrol

安裝完成後,運行pavucontrol會有兩種情況:一、正常運行了;二、又出現庫文件的問題,但是會換一個庫文件,這說明之前的問題已經解決,然後按照之前的方法解決就好了,最後應該是可以解決的。比如喵哥現在pavucontrol就可以用了:)

 


解決libgtk-x11-2.0.so.0

2019/07/12

error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

遇到的新問題,libgtk-x11-2.0.so.0用上面的方法不是太管用了,因爲這是一個圖形庫,卸載的話會牽扯到很多軟件,在網上搜索的解決方案是安裝libgtk2.0-0:i386

sudo apt-get install libgtk2.0-0:i386

喵哥試了很多次,但是不管用。然後我去查看了一下libgtk的相關庫文件:

可見libgtk2.0-0:i386已經安裝了,事實上,在安裝這些圖形相關的軟件時會自動安裝這些庫文件:

那麼,這個應該與libgtk2.0-0:i386無關了。再仔細觀察libgtk相關的庫文件,發現存在libgtk-3-0:amd64,但是缺少libgtk-3-0:i386,猜測可能是因爲庫文件的更新導致軟件在調用庫文件的時候會優先調用libgtk-3-0:amd64(較新的),然而發現libgtk-3-0:i386並不存在,所以報錯,那麼安裝libgtk-3-0:i386

sudo apt-get install libgtk-3-0:i386

發現libgtk-3-0相關的文件齊全了

gimp、dia等軟件開啓正常。

另外,在更老的機器上解決類似的問題是:

sudo apt-get install ia32-libs ia32-libs-gtk

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章