解决类似/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的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。
1. 问题原因分析
为了安装最新版本的Node.js(最新版本的Node.js使用了C++ 11中,而C++ 11需要code>gcc 4.8+才能支持),将gcc升级到了当前最新版本v 5.2.0,升级后,成功编译安装了新版本的Node.js(v 4.2.1),但运行程序时出现了以下错误:
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by node)
node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by node)
运行以下命令检查动态库:
strings /usr/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_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH
从以上输出可以看出,gcc的动态库还是旧版本的。说明出现这些问题,是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库。
2. 问题处理
执行以下命令,查找编译gcc时生成的最新动态库:
find / -name "libstdc++.so*"
输出如下:
/home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so /home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 /home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 //最新动态库 ……
/home/gcc-5.2.0/gcc-temp 是升级gcc时的输出目录。
将上面的最新动态库libstdc++.so.6.0.21复制到/usr/lib64目录下:
cp /home/gcc-5.2.0/gcc-temp/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64
复制后,修改系统默认动态库的指向,即:重建默认库的软链接。
切换工作目录至/usr/lib64:
cd /usr/lib64
删除原来软链接:
rm -rf libstdc++.so.6
将默认库的软链接指向最新动态库:
ln -s libstdc++.so.6.0.21 libstdc++.so.6
默认动态库升级完成,重新运行以下命令检查动态库:
strings /usr/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 GLIBCXX_3.4.20 GLIBCXX_3.4.21 GLIBC_2.3 GLIBC_2.2.5 GLIBC_2.3.2 GLIBCXX_FORCE_NEW GLIBCXX_DEBUG_MESSAGE_LENGTH
解决类似/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的问题.这 ...
- 报错解决: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 ...
- 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 ,出现这种问题就是因为编译库的编译器和编译 ...
- /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found的解决办法及注意事项
问题出现: 在做一个项目的时候,我用到了我的虚拟机去跑一个程序,这时候出现/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.15 not found
解决错误 呈现该错误的原因是当前的GCC版本中,没有GLIBCXX_3.4.15,须要安装更高版本. 我们可以输入:strings /usr/lib/libstdc++.so.6 | grep GLI ...
- 【系统故障】解决动态库路径错误导致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 ...
- /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found错误的解决
转载自:http://www.cnblogs.com/weinyzhou/p/4983306.html 升级cmake时,提示"Error when bootstrapping CMake: ...
- Error: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8‘ not found (required by /usr/anaconda3/bin/)
### Error: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/anaconda3/b ...
最新文章
- 用法与区别_指示代词this, that, these, those的区别和用法
- Exchange出站队列堵塞解决思路
- python 读excel中一个表_python – pandas read_excel在同一张表上的多个表
- 2013汇总计算 广联达gcl_36h就可成造价高手:广联达GTJ2018实操指导手册,实用
- LeetCode Integer to Roman(数字转罗马)
- DPDK vhost库(十一)
- Linux中java项目环境部署,简单记录一下
- 状态压缩DP AcWing算法提高课 (详解)
- webrtc回声消除线程android,android WebRTC 示例demo源码(回音消除)
- 肝!22款超好用的CLI工具
- 可视化图形(一):散点图-scatter()
- 北京中信银行总行地址_中信银行拉萨分行举行“存款保险标识”启用和存款保险条例宣传活动...
- Android中TextView的使用详情综述
- 深度学习笔记(18) 迁移学习
- 腾讯游戏规范直播:以后将严禁这些行为!
- lvm(逻辑卷--可扩展存储设备)
- 【体系结构】Oracle表空间的简单理解
- MATLAB求解线性规划问题
- html dom onblur,html的DOM中Event对象onblur事件用法实例
- python12306爬虫_爬虫12306返回数据怎么解析
热门文章
- Zookeeper 客户端源码吐血总结
- 避坑!gulp-imagemin运行出问题
- 【完美解决】Could not process result for mapping: ResultMapping{property=‘null‘, column=‘xxx‘, javaType=
- 25行代码AC_蓝桥杯 2017A组省赛第九题 分巧克力(暴力优化)
- 《数据结构》c语言版学习笔记——单链表结构(线性表的链式存储结构Part1)
- 怎么在linux下用mysql建库_在MySQL/MariaDB中创建数据库、数据库用户和授予特权(针对Linux平台)...
- datatable 查询_2020年浙江注册会计师成绩查询预告
- 史上最全的Linux常用——目录和文件管理命令——收藏这一篇就够了!(超全,超详细)
- c调用按钮点击事件_Unity3d---对UI事件接口的一些测试和机制(坑)的总结
- python视频网站项目_Python开发教育网站项目实例教学(105集视频课程含源码)