1.问题:
在linux服务器、anaconda虚拟环境中运行python代码,报错ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found
我不是root用户,没有sudo权限
2.查找问题:
红色处相同
输入命令:strings /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_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBC_2.3
GLIBC_2.2.5
GLIBC_2.14
GLIBC_2.4
GLIBC_2.3.2
GLIBCXX_DEBUG_MESSAGE_LENGTH
发现并没有我们所需要的GLIBCXX_3.4.21,说明默认的版本太低
查找我们自己的anaconda环境下有没有,输入命令:
strings xxx/libstdc++.so.6 |grep GLIBC
xxx为自己的anaconda环境中存放libstdc++.so.6的路径,如/anaconda/lib/、/anaconda/envs/你的环境名/lib64/
如果输出中包含GLIBCXX_3.4.21,则执行第三步
3.解决方法:
执行:
vim ~/.bashrc
在文件中添加:(/PATH/anaconda3/lib 就是我们在第二步中找到含有GLIBCXX_3.4.21的那个路径)
export LD_LIBRARY_PATH="/PATH/anaconda3/lib:$LD_LIBRARY_PATH"
保存退出:按esc后键盘输入:
:wq
执行文件:
source ~/.bashrc
再重新激活anaconda环境运行代码,发现成功了~~