[转]CentOS7中升级gcc

作者: 铁甲万能狗 | 来源:发表于2019-11-26 23:26 被阅读0次

原文链接:https://tlanyan.me/install-upgrade-gcc-on-centos/

CentOS 7官方源的gcc最新版本是4.8.5,发布于2015年,年代久远且不支持c++14。要编译c++14及以上项目,必须要升级现有版本或者安装高版本的gcc。

解决办法有两种:手动编译(也可以从其他机器拷贝或者网上下载),或从源安装。

大多数情况下本人都不推荐从源码编译,不仅因为编译过程中常会出现各种依赖问题需要手动解决,更因为件升级还要再来一次,相当的折腾(单核编译gcc至少一小时,费时费精力)。

本文介绍从源安装高版本gcc的办法。

红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用源中,而是将这些版本放在scl中。

首先安装scl:

yum install -y centos-release-scl
如果你之前用过grouplist/install等命令,应该知道gcc包含在Development Tools这个组中。scl中的gcc/g++软件包的前缀都是devtoolset,包含gcc 6的软件包是devtoolset-6,其安装命令是:

yum install -y devtoolset-6-gcc devtoolset-6-gcc-c++
出了gcc 6,scl中还有如下gcc版本:

devtoolset-3: gcc 4.9
devtoolset-4: gcc 5
devtoolset-6: gcc 6
devtoolset-7: gcc 7
devtoolset-8: gcc 8
至于为什么没有devtoolset-5,我也不清楚,估计是包含在devtoolset-4中了吧。

值得说明的是这些软件包可以同时安装,不会相互覆盖和冲突,也不会覆盖系统的版本。即可以在系统中可同时存在gcc 6, gcc 7, gcc 8等多个版本。

因为不会覆盖系统默认的gcc,使用这些软件的方法有四种:

使用绝对路径;
添加可执行文件路径到PATH环境变量;
使用官方推荐的加载命令:scl enable devtoolset-x bash, x为要启用的版本;
执行安装软件自带的脚本: source /opt/rh/devtoolset-x/enable,x为要启用的版本。
实践推荐使用最后两种方式。例如启用gcc 6: source /opt/rh/devtoolset-6/enable,接着输入gcc -v查看版本已经变成gcc 6.3.1。如果希望长期使用某个高版本,可将此命令写入.bashrc等配置文件。

其它
scl以及scl-rh源中的软件包都安装在/opt/rh/目录下,包含可执行文件、配置等。启用命令的路径是/opt/rh/xxx/enable,安装的服务重启命令则是systemctl restart rh-xxx,需要加rh或scl前缀以区别其他源的包。如果你用过remi/gitlab等源,其行为方式也是类似的。

相关文章

  • centos安装c++17

    [转]CentOS7中升级gcc - 简书 (jianshu.com)[https://www.jianshu.c...

  • [转]CentOS7中升级gcc

    原文链接:https://tlanyan.me/install-upgrade-gcc-on-centos/ Ce...

  • CentOS7升级gcc新版本

    CentOS7编译和安装GCC7.5 CentOS7.5升级gcc到8.3.0版本 Linux系统gcc升级到gc...

  • CentOS7 升级 gcc

    使用 scl 软件集升级, 简单方便, 无需编译。 Centos7升级gcc版本方法之一使用scl软件集 devt...

  • Centos7 升级GCC

    Centos 7系统自带的gcc版本太低,需要升级一下。网上搜索的方法很多都是直接编译源码,但是编译源码太费劲。整...

  • centos7 升级gcc

    升级到gcc7以上可以参考这个:https://www.cnblogs.com/jixiaohua/p/11732...

  • centos python java redis

    查看进程id的路径 ll /proc/PID centos7升级gcc版本到8 https://blog.csdn...

  • CentOS 更新gcc

    导言 在运行工程时提示 解决办法 升级gcc 升级gccCentOS7升级gcc4.9.4 配置gcc并升级动态链...

  • 在CentOS 7中安装Redis 3.2.8

    环境:centos7 更新gcc yum -y install gcc#解压tar -zxvf redis-3.2...

  • xmr-stak-cpu 在Centos 7挖矿

    安装编译 如果出现一下情况,需要升级gcc 升级GCC

网友评论

    本文标题:[转]CentOS7中升级gcc

    本文链接:https://www.haomeiwen.com/subject/uyruwctx.html