歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下.so文件無法打開解決辦法

Linux下.so文件無法打開解決辦法

日期:2017/2/27 16:04:04   编辑:Linux教程
與windows的動態鏈接庫dll類似,linux下的so類文件扮演同樣的角色。但時不時的就會遇到類似cannot open share object: libgtk-x11.so的錯誤提示。通常出現這種錯誤的原因都不是文件系統上沒有這個文件,而是通過系統的so文件搜索加載機制找不到。如果文件系統上根本就不存在,那就悲劇了,只有搜索一下,哪個包裡有這樣的so文件,並安裝它。以下的內容都針對文件系統上存在so文件的情況,並總結出兩種可行的方式來解決這個問題。

方式一:使用軟件鏈接
1、使用find 命令找到相應的.so文件(這裡假定為libgtk-x11.so,搜索結果為/usr/lib/libgtk-x11.so)
2、使用LD_DEBUG=libs + 你遇到上述錯誤時所執行的命令,定位程序是在哪個位置查找無法打開的.so文件,假定這個位置是$SO
3、在上述在$SO所在的目錄中做一個軟件連接,指向本機相應真實的.so文件(假定為/usr/lib/libgtk-x11.so)

方式二:修改.so文件查找機制相關的配置
1、在/etc/ld.so.conf.d目錄下新建一個配置文件,比如zerc.conf
2、編輯該文件,添加真實的.so文件絕對路徑,比如/usr/lib/libgtk-x11.so
3、運行/sbin/ldconig

注意事項 :
如果以上兩種方式都失敗,則很可能是軟件的系統架構差異引起的,如果你正運行的軟件是64位的(如64位的firefox),而該軟件會運行一些32位的插件,這些32位插件依賴的.so文件基本上是找不到的,再通過簡單的配置已經很難做到了。需要安裝一個代理插件包裝器nspluginwrapper,在debian下直接運行aptitude install nspluginwrapper即可
Copyright © Linux教程網 All Rights Reserved