【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found

文章目录

  • 问题描述
  • 解决方案
  • 2 查找conda内已有的动态库文件
  • 3 挑选一个动态库查看一下
  • 4 进入系统动态库文件,将conda库文件的路径添加进去
  • 然后重新加载系统动态度文件

转载于 【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found

问题描述

ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9’ not found (required by /apps/software/anaconda3/lib/python3.8/site-packages/matplotlib/ft2font.cpython-38-x86_64-linux-gnu.so)

解决方案

1 查看当前的系统动态库文件

strings /usr/lib64/libstdc++.so.6 | grep CXXABI

结果如下:
在这里插入图片描述
【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found_第1张图片
我们发现版本到1.3.7,没有1.3.9,说明升级GCC时没用新版本的动态库替换老版本。(GCC动态库版本过老)
要解决这个问题,其中最简单且不需要Root权限的做法,是将anaconda3库文件路径添加到系统的库文件路径中。

2 查找conda内已有的动态库文件

find /usr/ -name "libstdc++.so.*"

反正就是找到libstdc++.so开头的所有文件。
输出结果如下:
【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found_第2张图片

3 挑选一个动态库查看一下

挑选一个版本较高或者最高的动态库查看,比如libstdc++.so.6.0.29、libstdc++.so.6.0.31

strings /hpcfiles/users/yourname/.conda/pkgs/libstdcxx-ng-11.2.0-h1234567_0/lib/libstdc++.so.6.0.29 | grep CXXABI

结果:
【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found_第3张图片
可以看到libstdc++.so.6.0.29动态库中包含了CXXABI_1.3.9,说明使用这个动态库可以的。

4 进入系统动态库文件,将conda库文件的路径添加进去

第一步进入系统库文件

 vim  ~/.bash_profile

【报错】ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found_第4张图片
在文件中添加如下代码

# LD_LIBRARY_PATH的地址是上面`libstdc++.so.6.0.29`动态库所在的文件
LD_LIBRARY_PATH=/data/home/user12/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib:$LD_LIBRARY_PATH 
export LD_LIBRARY_PATH

按ESC后,输入wq!保存退出。

然后重新加载系统动态度文件

source  ~/.bash_profile

你可能感兴趣的:(c++,开发语言)