1. 程式人生 > >error while loading shared libraries 錯誤解決辦法總結,

error while loading shared libraries 錯誤解決辦法總結,

最近安裝了裝了幾次ACE庫,裝起來會出現很多問題。 其實我發現直接按照ace的幫助文件進行編寫。就差不多。

安裝完成後,經常會遇到以下問題error while loading shared libraries,就是編譯器沒有找到相應的lib庫檔案。

從網際網路上找到了一些文章, 解決了我的問題:貼一下。

缺少libclntsh.so.11.1

當執行./alibaba_prof.out時,報錯./alibaba_prof.out: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory


載入共享庫出錯:libclntsh.so.11.1:不能開啟共享物件檔案:沒有這樣的檔案或目錄
 
設定LD_LIBRARY_PATH=dir dir 為 libssl.so 的目錄,假設libssl.so 在 /home/lib/ 目錄下 執行命令: export LD_LIBRARY_PATH="/home/lib" 
 

while loading shared libraries: libXXX.so.1.2.3: cannot open shared object file: No such file or directory

關於 error while loading shared libraries: libXXX.so.1.2.3: cannot open shared object file: No such file or directory

此時你可以locate libXXX.so.1.2.3 (如果你的檔案系統比以前有了變化,如安裝了可能是需要的庫的開發包,則需要 locate -u 一下)

然 後如果發現了libXXX.so.1.2.3的確存在,就把libXXX.so.1.2.3所在的目錄加入到 /etc/ld.so.conf 中,或者在 /etc/ld.so.conf.d/ 下新建一檔案,如 XXX.conf ,其內容是libXXX.so.1.2.3所在的目錄。
如果發現libXXX.so.1.2.3不存在,你可能沒安裝包含庫的程式。一般google一下“XXX Linux”就能找到相應的軟體。

如果提示是error while loading shared libraries: libXXX.so,但你的系統上有libXXX.so.5,你可以為libXXX.so.5
做一個軟連結 ln -s libXXX.so.5 libXXX.so


如,我執行一個ACE開發包中的樣例程式時,出現以下提示:
./logging_app: error while loading shared libraries: libACE.so.5.4.7: cannot open shared object file: No such file or directory


[

[email protected] ld.so.conf.d]# locate libACE.so.5.4.7
/opt/ace/ace/libACE.so.5.4.7
/opt/ace/lib/libACE.so.5.4.7
[[email protected] ld.so.conf.d]# vi ace.conf

ace.conf中只有一行: /opt/ace/lib

然後再執行 ldconfig

OK,現在執行logging_app就沒有錯誤了。

原文地址:http://blog.csdn.net/wallwind/article/details/7580659