问题解决:ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found (required by /home/...

报错信息:

ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/deployer/anaconda3/envs/py37/lib/python3.7/site-packages/scipy/sparse/_sparsetools.cpython-37m-x86_64-linux-gnu.so)

解决办法:

vim ~/.bash_profile

添加

LD_LIBRARY_PATH=/data/anaconda3/lib:$LD_LIBRARY_PATH     
export LD_LIBRARY_PATH

最后执行:source ~/.bash_profile,使之生效即可。

如果这个方法不行,那就是说是这个问题:gcc动态库版本过老。。。

1.查看动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
发现没有CXXABI_1.3.9以及更高的版本

2.查找编辑gcc时生成的最新动态库
find / -name “libstdc++.so.*”
各种权限拒绝。。。发现一大堆里最后是输出的有效内容,目标文件是以…/lib/libstdc++.so.6.0.26结尾,因为我没有类似、usr/local/src…/lib/libstdc++.so.6.0.26的动态库,只能用anaconda3/lib中的来代替

3.复制到/usr/lib64/目录下
cp /home/deployer/anaconda3/envs/py37/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 /usr/lib64/
发现没权限,,,重新来
sudo cp /home/deployer/anaconda3/envs/py37/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 /usr/lib64/

4.进入/usr/lib64,ls命令查查看都有啥(不看也行,记得上面是so.6.0.26)将 libstdc++.so.6连接到libstdc++.so.6.0.26上去
cd /usr/lib64
ls
sudo rm -rf libstdc++.so.6
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6

5.最后一步,看看动态库是否升级完成
strings /usr/lib64/libstdc++.so.6 | grep ‘CXXABI’
这就ok了啊
嗯,没啥问题,这样就行了

参考 https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/80150207

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值