安裝TensorFlow后import tensorflow時,出現CXXABI_1.3.11和GLIBCXX_3.4.22 not found


 

Ubuntu16.04使用Anaconda搭建TensorFlow使用環境
但是在安裝TensorFlow后,import tensorflow報出如下錯誤:

 

 

該問題的錯誤原因是由於gcc的動態庫較老導致的。我們根據ImportError的路徑/usr/lib/x86_64-linux-gnu進行查看,輸入命令:

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

通過查看發現確實沒有tensorflow1.6要求的較新版本的動態庫。還有在/usr/lib/x85_64-linux-gnu目錄下的libstdc++.so.6實際上是一個軟鏈接,是連接到某個舊版本的動態庫上的。在該目錄下使用ls命令可以查看舊版本動態庫的全名,比如libstdc++.so.6.0.22。而我們要做的事情就是找到新版本的動態庫,然后產生一個軟鏈接。如何找新版本的動態庫,在升級GCC或者安裝TensorFlow時都會生成新的動態庫,我們使用如下命令查找:

find / -name "libstdc++.so.*"
我發現了較新的libstdc++.so.6.0.24在tensorflow虛擬環境的lib目錄下有,絕對路徑為:

/home/自己的用戶名/.conda/envs/tensorflow/lib
cd到該目錄,然后將新版本的動態庫拷貝到/usr/lib/x86_64-linux-gnu目錄下

之后執行:

cd /usr/lib/x86_64-linux-gnu
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.24 libstdc++.so.6

之后再使用strings命令查看,發現就有新版本,然后就開開森森的import tensorflow吧

參考原文:https://blog.csdn.net/BigBossZjz/article/details/79789383


免責聲明!

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



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