• CentOS7 升级gcc


    本机环境

    CentOS7是最小化安装,默认是不自带gcc的,需要通过命令yum groupinstall "Development Tools"来安装。

    gcc -v
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
    Target: x86_64-redhat-linux
    Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
    Thread model: posix
    gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
    

    记录一下升级的过程

    方式一 利用SCL安装

    可以参考这个链接(https://www.cnblogs.com/Hi-blog/p/How-To-Update-Gcc-On-CentOS7.html)
    此处是利用SCL(https://wiki.centos.org/zh/AdditionalResources/Repositories/SCL)来安装GCC
    可以访问software collections网站(https://www.softwarecollections.org/en/scls/rhscl/devtoolset-7/)

    # 1. Install a package with repository for your system:
    # On CentOS, install package centos-release-scl available in CentOS repository:
    $ sudo yum install centos-release-scl
    
    # On RHEL, enable RHSCL repository for you system:
    $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms
    
    # 2. Install the collection:
    $ sudo yum install devtoolset-7
    
    # 3. Start using software collections:
    $ scl enable devtoolset-7 bash
    
    # 4. Use gcc
    $ gcc -v
    
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-7/root/usr/libexec/gcc/x86_64-redhat-linux/7/lto-wrapper
    Target: x86_64-redhat-linux
    Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-7/root/usr --mandir=/opt/rh/devtoolset-7/root/usr/share/man --infodir=/opt/rh/devtoolset-7/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-plugin --with-linker-hash-style=gnu --enable-initfini-array --with-default-libstdcxx-abi=gcc4-compatible --with-isl=/builddir/build/BUILD/gcc-7.3.1-20180303/obj-x86_64-redhat-linux/isl-install --enable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
    Thread model: posix
    gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
    

    此种方法实际上是在/opt目录下新建了一个开发环境,有自己的一套文件系统;

    需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
    如果想要默认使用:echo "source /opt/rh/devtoolset-7/enable" >>/etc/profile

    方式二 编译安装

    1. 获取gcc源码包,依赖包等;我是从清华大学镜像站下载的
    2. 具体的安装步骤,参考(https://my.oschina.net/u/3982963/blog/3045237)
    3. 会出现缺少一些命令的问题,可能是由于自带的命令版本过低。

    安装依赖包
    gmp='gmp-6.1.0.tar.bz2'
    mpfr='mpfr-3.1.4.tar.bz2'
    mpc='mpc-1.0.3.tar.gz'
    isl='isl-0.18.tar.bz2'

  • 相关阅读:
    CS 系统框架二[完善自动更新]
    CS 系统框架二
    CS 系统框架二[增加默认启动以及代码打开窗体]
    2022届宝鸡质检[1]文数参考答案
    2022届宝鸡质检[1]理数参考答案
    合并DataTable并排除重复数据的通用方法
    IE6鼠标闪烁之谜
    Windows下MemCache多端口安装配置
    XML解析文件出错解决方法
    巧用row_number和partition by分组取top数据
  • 原文地址:https://www.cnblogs.com/rookieagle/p/13060155.html
Copyright © 2020-2023  润新知