美文网首页
centos7升级/安装gcc

centos7升级/安装gcc

作者: WeiFong | 来源:发表于2020-03-19 23:10 被阅读0次

    转载请注明文章出处:https://tlanyan.me/install-upgrade-gcc-on-centos/

    CentOS 7官方源带的gcc最新版本是4.8.5,后续越来越多的应用,必须要升级现有版本或者安装高版本的gcc。
    红帽其实已经编译好了高版本的gcc,但未更新到base和epel这两个常用的源中,而是放在scl中。第一步便是安装scl:

    yum install -y centos-release-scl
    

    如果你之前用过grouplist/install等命令,应该知道gcc包含在Development Tools这个组中。那么scl中的gcc/g++软件包的前缀都是devtoolset,也就不难理解了。安装gcc 6版本的命令是:

    yum install -y devtoolset-6-gcc devtoolset-6-gcc-c++
    

    devtoolset-6中的gcc版本为gcc 6,除此之外还有如下版本:
    devtoolset-3: gcc 4.9
    devtoolset-4: gcc 5
    devtoolset-6: gcc 6
    devtoolset-7: gcc 7
    devtoolset-8: gcc 8
    如果你想安装更高的版本,下面gcc8为例:

    yum install -y devtoolset-8-gcc devtoolset-8-gcc-c++
    

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

    因为不会覆盖系统默认的gcc,使用这些软件的方法有四种:
    使用绝对路径;
    添加可执行文件路径到PATH环境变量;
    使用官方推荐的加载命令:scl enable devtoolset-x bash , x为要启用的版本;
    执行安装软件自带的脚本: source /opt/rh/devtoolset-x/enable ,x为要启用的版本。
    推荐使用最后两种方式,例如启用gcc 8:

    scl enable devtoolset-8 bash
    source /opt/rh/devtoolset-8/enable
    

    然后输入gcc -v查看版本已经变成gcc8.3.1。使用类似的命令可以随时在多个gcc版本中切换。如果希望长期使用高版本,可将此命令写入.bashrc等配置文件。

    vi ~/.bashrc
    scl enable devtoolset-8 bash
    source /opt/rh/devtoolset-8/enable
    

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

    相关文章

      网友评论

          本文标题:centos7升级/安装gcc

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