背景
CentOS 7默认自带GCC版本4.8,而目前工作中开发环境需要用到GCC8和GCC12,这里记录一下如何升级GCC版本,以及如何多版本并存。参考:
CentOS升级gcc-知乎
Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g++的版本
CentOS 7升级gcc
devtoolset对应gcc的版本
devtoolset-7对应gcc7.x.x版本
devtoolset-8对应gcc8.x.x版本
devtoolset-9对应gcc9.x.x版本
devtoolset-10对应gcc10.x.x版本
devtoolset-11对应gcc11.x.x版本
可通过centos-release-scl源安装devtoolset包:
bash
yum install centos-release-scl
yum install devtoolset-8
激活gcc版本,使其生效:
bash
scl enable devtoolset-8 bash
# 或者下面这句
# source /opt/rh/devtoolset-8/enable
执行后,只在当前终端生效,要永久生效,可以将激活语句加入到~/.bashrc
中。
此时通过gcc --version
命令可以看到版本信息。
🎉🎉🎉🎉🎉🎉🎉
遗憾的是上述方式无法安装gcc12,devtoolset目前只提供到gcc11。于是自己找了个软件源(https://copr.fedorainfracloud.org/coprs/mlampe/devtoolset-12/
),新建一个源文件:
bash
vim /etc/yum.repos.d devtoolset-12.repo
在文件中写入以下内容:
[copr:copr.fedorainfracloud.org:mlampe:devtoolset-12]
name=Copr repo for devtoolset-12 owned by mlampe
baseurl=https://download.copr.fedorainfracloud.org/results/mlampe/devtoolset-12/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/mlampe/devtoolset-12/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1