“libgomp.so.1: version `GOMP_4.0' not found” || “libstdc++.so.6: version `CXXABI_1.3.8' not found”錯誤


類似問題還有 'ImportError ../lib/libstdc++.so.6: version `CXXABI_1.3.7' not found (required by xxx)'、       'ImportError ../lib/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by xxx)'等。


這種報錯情況一般出現在Anaconda環境的Python程序中,原因是Anaconda對應目錄下的“libgomp.so.1”和“libstdc++.so.6”動態庫文件(lib)中相關模塊的版本比較舊,不包含相應版本模塊導致的


系統中動態庫存放路徑在/usr/lib/x86_64-linux-gnu/      或   /usr/lib/


anaconda中動態庫存放路徑是~/anaconda2/lib


查看Linux系統動態庫文件包含的模塊版本:

strings /usr/lib/libstdc++.so.6 | grep 'CXXABI'


或者

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI'


輸出:

CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_TM_1
CXXABI_FLOAT128

查看anaconda路徑下動態庫文件所包含的模塊版本:

strings anaconda2/lib/libstdc++.so.6 | grep 'CXXABI'


輸出:

CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1


系統目錄下的文件包含所需模塊的版本‘CXXABI_1.3.8’和‘CXXABI_1.3.9’,復制系統目錄下的動態庫文件替換掉anaconda目錄下的動態庫文件,問題就解決了


同樣可以使用strings指令查看anaconda中和系統下libgomp.so.1文件中分別包含的版本:

strings libgomp.so.1 | grep "GOMP"
 

如果系統目錄lib也不包含所需模塊,可以嘗試使用以下命令更新動態庫文件:

LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9 g++-4.9


免責聲明!

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



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