找不到libstdc++.so.5的解決方法


安裝 IBM Tivoli Workload Scheduler時報錯:/usr/lib下找不到libstdc++.so.5

# yum whatprovides libstdc++.so.5

查找發現,libstdc++.so.5包含在安裝包compat-libstdc++-33

# yum install compat-libstdc++-33

可以進行安裝

但是安裝包有兩種:

compat-libstdc++-33.i686 : Compatibility standard C++ libraries
compat-libstdc++-33.x86_64 : Compatibility standard C++ libraries

我是64位的rhel,選擇安裝x86_64包

安裝完成后發現解決了一部分問題,有的依然進行報錯

find -name libstdc++.so.5

發現/usr/lib64下已經有了這個文件

ls -l libstdc++.so.5

/usr/lib64/libstdc++.so.5 -> libstdc++.so.5.0.7

目標是個link文件

cd /usr/lib

link -s /usr/lib64/libstdc++.so.5.0.7 libstdc++.so.5

進入到目標目錄,即無法查找到lib文件所在的位置

創建源文件到local的軟連接

至此,問題搞定

------------------------------------------------------------

Afterword: 

    1.查看i686發現,這是i386的優化版,實際上安裝這個包,不設定軟連接即可解決問題

    2.觀察報錯信息,給出缺失文件位置/usr/lib即可看出缺失的是i386(即32位)的庫文件

    3.編譯出問題時,考慮下是否gcc等三個運行庫是否安裝/支持

    4.某論壇有人提示:在/usr/lib/目錄下,搜索libstdc++可以看到libstdc++.so.5和libstdc++.so.6等鏈接庫文件。但是libstdc++.so.5是打了叉的,說明libstdc++.so.5的權限有問題,用chmod 755即可解決該問題!

    5.很多問題是因為權限問題造成的,多用ls -l查看文件屬性

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM