-
问题
在linux下执行程序报一下错误
./demo: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./demo)
-
问题分析
因为安装的gcc版本比较高,生成的动态库没有替换老版本gcc的动态库,GLIBCXX中的版本比较低,将gcc最新版本的动态库替换系统中老版本的动态库即可。
-
查询现有的支持
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
[root@83955d05 roach]# strings libstdc++.so.6.0.26 | grep GLIBCXX_* 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_DEBUG_MESSAGE_LENGTH
可以发现只支持到
3.4.19
,离我们的3.4.26
还有很远的距离所以我们需要升级
-
查找本机中是否存在升级
find / -name "libstdc++.so.6*"
[root@83955d05 roach]# find / -name "libstdc++.so.6*" /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.0.19 /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc /usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc /opt/rh/devtoolset-7/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.py /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyc /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.19-gdb.pyo /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc /opt/rh/devtoolset-9/root/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo
发现也没有我们需要的支持,那我们需要下载一个需要的包
如果存在需要的包就不用下载了,直接走升级 -
下载需要的包
找了一圈,没有找到官网可以下载,不过有个博客上有有个包可以用,博客地址:
http://www.vuln.cn/9154
-
升级
# 将下载的包放到 /usr/lib64 下 [root@83955d05 roach]# cp libstdc++.so.6.0.26 /usr/lib64/ # 到 /usr/lib64 目录下 [root@83955d05 roach]# cd /usr/lib64/ # 删除 [root@83955d05 lib64]# rm -rf libstdc++.so.6 # 重新链接 [root@83955d05 lib64]# ln -s libstdc++.so.6.0.26 libstdc++.so.6 # 查询升级后是否是我们想要的 [root@83955d05 lib64]# strings libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4.26 not found
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- ./svict -i sim.75.sorted.bam -r /data/ref_data/GATK_bundl...
- 1.error: command 'gcc' failed with exit status 1 今夜在CentO...
- 由于tesseract在github上只提供了ubuntu与mac的教程,并且我在部署Centos时遇到了各种难解...
- 在系统重新启动后,启动相应的服务是出现如题错误: libstdc++.so.6: version `GLIBCXX...