返回

centos7升级GCC版本

在 CentOS 7 上升级 GCC 版本可以通过多种方法实现, 这里使用个人认为最简单的方式升级,CentOS SCL

环境信息

  • Centos7
  • gcc4.8.5 ->gcc8.3.1

安装SCL仓库

1
yum install centos-release-scl

配置SCL仓库源

由于scl源在国外,有时候安装很慢,这里把源换成国内阿里源

  • 修改CentOS-SCLo-scl.repo
1
2
3
4
# 备份
mv /etc/yum.repos.d/CentOS-SCLo-scl.repo  /etc/yum.repos.d/CentOS-SCLo-scl.repo.bak
# 写入阿里源
vim /etc/yum.repos.d/CentOS-SCLo-scl.repo

内容如下:

1
2
3
4
5
6
7
[centos-sclo-sclo]
name=CentOS-7 - SCLo sclo
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SC
  • 修改CentOS-SCLo-scl-rh.repo
1
2
3
4
# 备份
mv /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo  /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.bak
# 写入阿里源
vim /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

内容如下:

1
2
3
4
5
6
7
[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
# mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo

清理缓存

1
yum clean all

安装gcc8

1
yum install devtoolset-8

临时启用devtoolset-8

1
scl enable devtoolset-8 bash

这将启动一个新的shell会话,其中gcc将指向 devtoolset-8 提供的 GCC 版本

验证gcc版本

1
gcc --version

输出类似于:gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC)

注意

使用scl是临时启用的shell,只有在当前shell中gcc版本才是8.3.1,不是全局生效的,不建议全局生效,因为不同软件的编译依赖gcc版本不同,使用scl能完美解决不同gcc版本的使用问题

发表了9篇文章 · 总计5.02k字
已运行