Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2224375
  • 博文数量: 287
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2130
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 14:30
个人简介

自己慢慢积累。

文章分类

全部博文(287)

分类: LINUX

2023-02-23 14:51:17



https://(删除我)zhuanlan.zhihu.com/p/535657060

在某些应用场景中,需要特定的gcc版本支持,但是轻易不要去编译gcc不要去编译gcc不要去编译gcc,我这里推荐使用红帽提供的开发工具包来管理gcc版本,这样做的好处是随时切换版本,并且可以并存多个版本,不破坏原有gcc环境。

红帽官方Developer Toolset文档地址:

access.redhat.com/docum

CentOS7 升级gcc版本

devtoolset对应gcc的版本

devtoolset-3对应gcc4.x.x版本
devtoolset-4对应gcc5.x.x版本
devtoolset-6对应gcc6.x.x版本
devtoolset-7对应gcc7.x.x版本
devtoolset-8对应gcc8.x.x版本
devtoolset-9对应gcc9.x.x版本
devtoolset-10对应gcc10.x.x版本

可通过centos-release-scl源安装devtoolset包

yum install centos-release-scl
yum install devtoolset-8

或自行添加源来安装(我这里以CentOS7为例)

vi /etc/yum.repos.d/CentOS-SCLo-scl.repo
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=
#mirrorlist=
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

激活gcc版本,使其生效

scl enable devtoolset-8 bash
或
source /opt/rh/devtoolset-8/enable

此时通过gcc --version命令可以看到,gcc版本已经变成8.x.x,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。

CentOS8 升级gcc

在CentOS8系统中,默认gcc版本已经是8.x.x版本,但是在一些场景中,还是需要高版本的gcc。

注意:不要去编译升级gcc,编译升级后可能会给你带来额外的麻烦。本文基于CentOS8.3版本验证通过,仅适用于CentOS8、Redhat8版本。

在CentOS8版本中,红帽也提供了开发工具包管理gcc版本,install的包名从devtoolset-x变成了gcc-toolset-x,通过该方式升级gcc好处就是随时可以切换gcc版本,不破坏原有gcc环境。

gcc-toolset-9对应gcc9.x.x版本
gcc-toolset-10对应gcc10.x.x版本
gcc-toolset-11对应gcc11.x.x版本

例:升级gcc至10.x.x版本

1 配置yum源

vim /etc/yum.repos.d/Centos-8.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=
gpgcheck=1
enabled=1
 
 
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=
gpgcheck=1
enabled=1
gpgkey=
 
 
[AppStream]
name=CentOS-$releasever - AppStream - mirrors.aliyun.com
failovermethod=priority
baseurl=
gpgcheck=1
enabled=1
gpgkey=
 
 
[8-AppStream]
name=CentOS-$releasever - 8-AppStream
baseurl=
gpgcheck=0
enabled=1

2 安装gcc-toolset-10

dnf install gcc-toolset-10

3 激活gcc版本,使其生效

scl enable gcc-toolset-10 bash
或
source /opt/rh/gcc-toolset-10/enable

此时通过gcc --version命令可以看到,gcc版本已经变成10.x.x,值得注意的是这仅仅在当前bash生效,如果需要永久生效,可以请自行添加环境变量。

阅读(421) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~