在鲲鹏云服务器上通过SCL软件集使用高版本GCC
SCL介绍
红帽企业版 linux(RHEL)和它的社区版分支——CentOS,提供10年的生命周期,这意味着 RHEL/CentOS 的每个版本会提供长达10年的安全更新。虽然这么长的生命周期为企业用户提供了迫切需要的系统兼容性和可靠性,但也存在一个缺点:随着底层的 RHEL/CentOS 版本接近生命周期的结束,核心应用和运行时环境变得陈旧过时。
另一方面,在 RHEL/CentOS 上试图手动升级开发工具链和运行时环境存在使系统崩溃的潜在可能,除非所有依赖都被正确解决。通常情况下,手动升级都是不推荐的,除非你知道你在干什么。
(SCL)源出现了,以帮助解决 RHEL/CentOS 下的这种问题。SCL 的创建就是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。
下面介绍怎么在鲲鹏云服务器上配置SCL源,以及安装和启用SCL中高版本的GCC(本文下述使用鲲鹏云服务器KC1搭载CentOS7.6进行演示)。
安装配置SCL源
yum install centos-release-scl -y mv /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.bak sudo yum makecache
遇到输入
Is this ok [y/d/N]:
时按y。
安装使用高版本的GCC
当前系统上带的GCC版本是4.8.5
gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
通过SCL,我们当前可以使用GCC 7、GCC 8
安装GCC 7
yum install devtoolset-7-gcc -y
安装GCC 8
yum install devtoolset-8-gcc -y
查看安装的SCL工具套件
scl -l
回显:
devtoolset-7 devtoolset-8
启用GCC 7的环境
scl enable devtoolset-7 bash
此时可以查到,当前GCC版本为:
gcc --version gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5) Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
退出当前环境:
exit
启用GCC 8的环境
scl enable devtoolset-8 bash
此时可以查到,当前GCC版本为:
gcc --version gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
退出当前环境
exit
通过进入不同的GCC版本环境中,我们就可以使用不同的GCC版本进行编译了。
参考链接:
https://wiki.centos.org/AdditionalResources/Repositories/SCL
- 点赞
- 收藏
- 关注作者
评论(0)