/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found的解决办法及注意事项
问题出现:
在做一个项目的时候,我用到了我的虚拟机去跑一个程序,这时候出现/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
的错误,这时候我去百度了一下,找了一些解决办法,我试着操作了一下,自己差点没有升天。(由于本人linux经验的问题,所以没有意识到问题的严重性,所以在此也提醒下同样的小伙伴)
解决办法1:(注:千万不要使用!)
我最开始找到的办法,这个办法解决了问题,差点连我本人也一起解决掉了。你如果被这种办法迫害过的话,我下面附加了解决这种问题的办法。
这里把一些重要的话说在前面,要是你要做一些修改系统文件的复杂操作的时候,在这之前记得给自己的虚拟机留下一份快照,以防万一,说不准你的虚拟机就坏掉了,说在前面也是怕一些人不看提示就操作,到时弄坏了自己的虚拟机。
具体解决过程:
- 这里出现的问题是因为我们的libstdc++.so.6.0.n(<21)的库版本太旧了,我们要更换上版本高一点的库,版本不低于6.0.21就可以了。(/lib64下面使用find命令查看是否有这样的库:find ./ -name “libstdc++.so.6*”)
然后我们可以看见有如下两个文件:
libstdc++.so.6
libstdc++.so.6.0.xxx (<21)
- 所以我们下载libstdc++.so.6.0.21(≧ 21都行)的动态库,将其放入到我们的
lib64
文件夹中。
rm -rf libstdc++.so.6
- 这时候我们删除掉原来的
libstdc++.so.6
(只是删除软链接),然后重新创建一个软连接到我们新下载的动态库(不要操作!不要操作!不要操作!)
ln -s ./libstdc++.so.6.0.21 ./libstdc++.so.6
- 这时候我们重新打开之前的程序,这下运行成功了!
这时候你可能觉得没有什么问题,当你关掉虚拟机,重新开机的时候,这时候你会发现你的虚拟机突然之间就进入不了登录界面了,就是一直黑屏。我当时一脸懵逼,我以为是我虚拟机只是突然抽风卡了,于是我又重启了几遍,还是老样子,到登录界面前就一直黑屏了。我想重装系统的话,我之前的文件啥的都丢失了,项目还得重新去编译,还有其他的东西也要编译,一套流程下来可不是说重装就重装的。而且我也没有保存当时的快照,真是惨痛的教训。
下面是遇到这种情况的解决办法:
- 切换到命令行窗口,或使用命令行方式启动系统
这是在你还能成功开机的情况下能进行的。上面只是我们的GUI桌面没法使用了,我们可以想办法打开我们的命令行窗口,毕竟我们linux本来就可以无GUI界面使用命令行窗口的方式启动。我使用的是centos7,我切换命令行界面的操作是ctrl
+alt
+F3
(开机完成之后再按),其他系统你可以百度一下怎么切换到命令行界面。
- 将原本的文件恢复,将软链接链回之前的动态库
rm -rf libstdc++.so.6
ln -s ./libstdc++.so.6.0.19 ./libstdc++.so.6
假如你把libstdc++.so.6.0.19文件删除了的话,你可以重新去下载一个,使用①linux下载命令或者是②windows下载使用共享文件夹传进来,然后放入到/lib64文件夹中
- 完成上面的操作就可以重启了。重启之后就没有问题了。
解决办法2:(正确有效的方式)
我们使用LD_PRELOAD命令来设置我们运行时首先采用的动态库
- 这里我们下载好之前的
libstdc++.so.6.0.21
- 设置运行时首先采用的库(进入到需要运行的程序的目录下)
export LD_PRELOAD="/lib64/libstdc++.so.6.0.21"
- 运行我们的程序
- 运行完之后我们不使用了,使用
unset LD_PRELOAD
取消我们的应用
unset LD_PRELOAD
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found的解决办法及注意事项相关推荐
- /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found的解决办法
原因 缺少GLIBCXX_3.4.15版本,或是更高的版本. 场景描述 在CentOS 6.6 64bit上我将gcc从4.4.7版本升级到4.8.2以便让其支持c++11标准,然后我编译llvm-c ...
- 解决类似/usr/lib64/libstdc++.so.6:version `GLIBCXX_3.4.21` not found的问题
源码编译升级安装了gcc后,编译程序或运行其他程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21` not found的问题.这 ...
- 解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
源码编译升级安装了gcc后,编译程序或运行其它程序时,有时会出现类似/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found的问题.这 ...
- 【系统故障】解决动态库路径错误导致ImportError: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found 的问题
https://www.jianshu.com/p/329774bacfd2 https://blog.csdn.net/Yonggie/article/details/120332494 https ...
- 报错解决:ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ninja)
这个报错是因为手动编译安装gcc/g++后没有更新头文件,解决方法有2个. 一个是临时的解决方案: export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRAR ...
- libstdc++.so.6: version `GLIBCXX_3.4.21' not found
libstdc++.so.6: version `GLIBCXX_3.4.21' not found /home/sbd/.conda/envs/python3.6/lib sudo rm -f li ...
- linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14‘ not found 解决办法
在安装node的时候出现报错,提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found ,出现这种问题就是因为编译库的编译器和编译 ...
- ImportError: /home/kzl/anaconda2/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
这次遇到一个恶心的错误,还是在编译pycaffe的时候报的错. 错误如下: [plain] view plain copy Traceback (most recent call last): Fil ...
- 解决ImportError: /home/douxiao/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
出现该问题的原因是 /lib/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 检查一下是否真的缺少该文件: $ strings /home/dou ...
最新文章
- CSP 201812-2 小明放学 Python实现+详解
- python pycharm如何全局(整个项目中)搜索指定代码?(CTRL+SHIFT+F)全局字符串搜索
- java 微分方程求解_Java中的微分方程
- web之用FileUpload上传文件
- python 读取文件_python读取docx文件,就是如此简单
- 学Android的学习规划
- easyui 收费_收费班长喻玉华三尺岗亭献青春
- delphi控件切图界面闪烁_一份最详尽全面的UI界面切图命名规范
- 学习nodejs之restful
- mysql driver pdo_关于 php mysql pdo cannot find driver 解决方案
- wps如何自己制作流程图_WPS如何绘制流程图? WPS绘图流程图详细教程
- Zedgraph 总结
- java中 implement_java中implement
- sis最新ip地址2020入口一_【新版教材】2020最新人教版高中历史教材必修一电子课本...
- javascript 域名合法性检测
- 中科院自动化所 模式识别国家重点实验室(NLPR)
- pdf合并的工具下载
- python绘制直线的垂线_Matplotlib:散点图中的垂直线
- 三星2022款 The Frame 画壁电视 评测
- paddlepaddle、paddlehub依赖包下载并离线安装