大佬教程收集整理的这篇文章主要介绍了CentOS升级gcc4.8.5,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因项目编译需要用c++11,需要升级Centos的gcc版本到gcc4.8.5。
一.安装Centso开发工具
# yum groupinstall "Development Tools"
二.下载gcc4.8.5
下载地址:http://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.bz2
三.解压
#tar -jxvf gcc-4.8.5.tar.bz2
四.执行命令,自动下载配置、依赖库
下载过程有点久,请蛋定。
# cd gcc-4.8.5
# ./contrib/download_prerequisites
五.建编译后的存放目录
# mkdir gcc-build-4.8.5
# cd gcc-build-4.8.5
# ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
七.执行@H_226_17@make,耗时大约1h
# make
八.安装
# make install
九.重启,测试
# reboot //一定要重启
# gcc -v
# g++ -v
十.库升级
编译程序或运行其它程序时,有时会出现类似:
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found
的问题。这是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。
1.检查
#Strings /usr/lib64/libstdc++.so.6 | grep GLIBC
2.找到 gcc 4.8.5 最新的库文件
#find / -name "libstdc++.so*"
/usr/lib64/libstdc++.so.6.0.13
/usr/lib64/libstdc++.so.6/usr/lib/gcc/x86_64-redhat-linux/4.4.4/32/libstdc++.so/usr/lib/gcc/x86_64-redhat-linux/4.4.4/libstdc++.so/usr/lib/vmware-tools/lib64/libstdc++.so.6/usr/lib/vmware-tools/lib64/libstdc++.so.6/libstdc++.so.6/usr/lib/vmware-tools/lib32/libstdc++.so.6/usr/lib/vmware-tools/lib32/libstdc++.so.6/libstdc++.so.6/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyc/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.pyo/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.13-gdb.py/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyc/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.pyo/usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.13-gdb.py/usr/local/lib64/libstdc++.so.6.0.19/usr/local/lib64/libstdc++.so.6/usr/local/lib64/libstdc++.so/usr/local/lib64/libstdc++.so.6.0.19-gdb.py
/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6/opt/gcc-4.8.5/gcc-build-4.8.5/prev-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so
上面粗体加黑的libstdc++.so.6.0.19,就是目前4.8.5的新的库文件了。
# cp /opt/gcc-4.8.5/gcc-build-4.8.5/stage1-x86_64-unkNown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.19 /usr/lib64
# cd /usr/lib64
# rm libstdc++.so.6
# ln -s libstdc++.so.6.0.19 libstdc++.so.6
4.检查一遍
# Strings /usr/lib64/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19
...
(完成)
以上是大佬教程为你收集整理的CentOS升级gcc4.8.5全部内容,希望文章能够帮你解决CentOS升级gcc4.8.5所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。