1. 程式人生 > >報錯資訊ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............)

報錯資訊ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............)

# 報錯資訊ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............) Linux上執行“.py”檔案,或者在import torch過程中報錯資訊: ![](https://img2020.cnblogs.com/blog/1870574/202007/1870574-20200707203820807-1033019357.png) 或者類似這種型別的。 ## 原因:gcc動態庫版本過老 ## 解決辦法: a. 檢視動態庫 ``` strings /usr/lib64/libstdc++.so.6 | grep CXXABI ``` 結果如下: ![](https://img2020.cnblogs.com/blog/1870574/202007/1870574-20200707203829339-1350093258.png) ``` ls -l /usr/lib/libstdc++.so.6 ``` ![](https://img2020.cnblogs.com/blog/1870574/202007/1870574-20200707203836732-1870095812.png) b.執行以下命令,查詢編譯gcc時生成的最新動態庫:(有時找不到最新的動態庫,可以參考方案二) ``` find / -name "libstdc++.so.*" ``` ![](https://img2020.cnblogs.com/blog/1870574/202007/1870574-20200707203846223-1395220787.png) c. 將上面的最新目錄複製到/usr/lib64/目錄下: ``` cp /usr/local/src/gcc-6.3.0/gcc-build-6.3.0/i686-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.22 /usr/lib64/ ``` d. 將libstdc++.so.6連線到libstdc++.so.6.0.22上去: ``` cd /usr/lib64 rm -rf libstdc++.so.6 ln -s libstdc++.so.6.0.22 libstdc++.so.6 ``` e. 預設動態庫升級完成。重新執行以下命令檢查動態庫: ``` strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI' ``` ![](https://img2020.cnblogs.com/blog/1870574/202007/1870574-20200707203858237-2091108896.png) 方案二: 進行到方案一中b時,如果找不到gcc中的最新的動態庫,可以將anaconda3/lib 中的 最新的動態庫--------- “ libstdc++.so.6.0.24” (可能有的版本不一樣,只要是版本最新的即可) ,拷貝到“ /usr/lib64”目錄下。 可以通過下面的命令,檢視anaconda3/lib/libstdc++.so.6 中是否有 CXXABI_1.3.9 ``` strings /anaconda3/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_1.3.8 CXXABI_1.3.9 CXXABI_1.3.10 CXXABI_TM_1 CXXABI_FLOAT128 ``` 再將libstdc++.so.6連線到libstdc++.so.6.0.24上去。 參考連結: https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/8