libstdc++.so.6在系统中存在于
/usr/lib/libstdc++.so.6
或者
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
导致这个问题的出现可能是你在别的库中(例如anaconda)也存在该动态库文件
1、查看
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
有CXXABI_1.3.9这一项,而同样的方式查看anaconda3/lib/下libstdc++.so.6文件
strings anaconda3/lib/libstdc++.so.6 | grep 'CXXABI'
最高才存在CXXABI_1.3.7
2、复制动态库
#删除原来的libstdc++.so.6
sudo rm -rf anaconda3/lib/libstdc++.so.6
#拷贝新的动态库文件,注意自己的是哪个版本
sudo cp /usr/lib/libstdc++.so.6.0.21 /home/ubuntu/anaconda3/lib/
3、建立软连接
cd anaconda3/lib/
sudo chmod +r libstdc++.so.6.0.21
sudo ln -sf libstdc++.so.6.0.21 libstdc++.so.6
sudo ldconfig
大功告成