CentOS升级GCC

背景

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包:

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

激活gcc版本,使其生效:

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/),新建一个源文件:

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

你可能感兴趣的:(centos,linux,运维)