1.问题描述
在CentOS6.7系统上利用Anaconda安装tensorflow,安装完后试运行报如下错:
2.原因分析
我们所依赖的动态库版本太低,可以用如下命令查看:
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
输出:
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
最高只到3.4.13
3.解决方案
由于事先安装了Anaconda,在Anaconda中可以找到对应版本的glibcxx,
使用如下命令搜索:
find / -name "libstdc++.so*"
发现:/root/anaconda3/lib/libstdc++.so.6.0.24
就是它,将这个拷贝到/usr/lib64目录下,并重新更改下软连接指向,步骤如下:
1.拷贝
cp /root/anaconda3/lib/libstdc++.so.6.0.24 /usr/lib64
2. 修改软连接,有不少文章直接rm -rf /usr/lib64/libstdc++.so.6把旧的软连接干掉,这样太血腥,太暴力,本人没有采用,使用下面命令修改即可:
ln -snf /usr/lib64/libstdc++.so.6.0.24 /usr/lib64/libstdc++.so.6
测试一下,没有报错:
Ok,大功告成,可以愉快玩耍了