为CentOS 6、7升级gcc至4.8、4.9、5.2、6.3、7.3等高版本
CentOS 7虽然已经出了很多年了,但依然会有很多人选择安装CentOS 6,CentOS 6有些依赖包和软件都比较老旧,如今天的主角gcc编译器,CentOS 6的gcc版本为4.4,CentOS 7为4.8。gcc 4.8最主要的一个特性就是全面支持C++11,如果不清楚什么用的也没关系,简单说一些C++11标准的程序都需要gcc 4.8以上版本的gcc编译器编译,如MySQL 8.0版本(8.0.16以上版本是C++14标准,需gcc 5.3以上版本)。
CentOS 6虽然是gcc 4.4的老旧版本,但是也可以升级gcc来安装gcc 4.8,我们今天就不采用编译安装的方法了,gcc安装起来非常费时,我们采用CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。
确定当前gcc版本,执行命令:gcc --version
一般如果需要升级gcc至4.8或更高版本,建议直接采用安装SCL源之后安装devtoolset-6(devtoolset-6目前gcc版本为6.3),因为devtoolset-4及之前的版本都已经结束支持,只能通过其他方法安装
升级到gcc 6.3:devtoolset-6已经结束支持,请安装devtoolset-7
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 6.3的话:
这样退出shell重新打开就是新版的gcc了
以下其他版本同理,修改devtoolset版本号即可。
VPS侦探 https://www.vpser.net
升级到gcc 7.3:
yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
scl enable devtoolset-7 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 7.3的话:
升级到gcc 8.3:
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 8.3的话:
升级到gcc 9.3:
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 9.3的话:
再说一下已经停止支持的devtoolset4(gcc 5.2)及之前版本的安装方法
升级到gcc 4.8:
yum -y install devtoolset-2-gcc devtoolset-2-gcc-c++ devtoolset-2-binutils
scl enable devtoolset-2 bash
升级到gcc4.9:
yum -y install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils
scl enable devtoolset-3 bash
升级到gcc 5.2
yum install devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-binutils -y
scl enable devtoolset-4 bash
升级完成后一定要运行:gcc --version 看一下版本号变成升级后的gcc版本才算升级成功。
好了,至此各个主要gcc版本的安装教程,如有问题可以本文回复或者VPS论坛发帖。
-----------------------------------------------------------------------------------------------------------------
最后更新:2020年5月13日
>>转载请注明出处:VPS侦探 本文链接地址:https://www.vpser.net/manage/centos-6-upgrade-gcc.html
什么系统及版本?执行那一步时的报错信息及完整的错误信息
提示 Requires policycoreutils-python
如何解决
scl enable devtoolset-7 bash
需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
如果要长期使用gcc 8.3的话:
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
我按照楼主的步骤安装了8.3 没有出错 但为什么再次查看还是原来的版本 需要用什么命令让他生效吗
你看一下/etc/profile 中是否存在source /opt/rh/devtoolset-9/enable 该行
请问为什么修改环境变量,也就是执行 echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile 后,退出shell后还是会恢复原系统gcc版本。
真的nb好吧,centors6踩了无数坑
谢谢
踩坑无数,终于看到一篇靠谱简单的文章了,赞一个。
一台centos 6的服务器试了试,安装mysql 8成功,666