鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

安装GCC

CentOS 7.6系统自带的GCC软件版本较低,需要升级GCC版本至5.3.0或者以上。openEuler 20.03操作系统自带的GCC版本为7.3.0,不需要升级GCC。如果需要在openEuler 22.03操作系统(操作系统自带的GCC版本为10.3.1)安装8.0.15版本,则需要安装GCC 7.3.0版本。

CentOS 7.6下升级到GCC 7.3.0的操作步骤请参见CentOS 7.6下升级GCC,openEuler 22.03下安装GCC 7.3.0的操作步骤请参见openEuler 22.03下安装GCC 7.3.0

CentOS 7.6下升级GCC

  1. 下载GCC 7.3.0。
    cd /home
    wget https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz --no-check-certificate
  2. 解压GCC源码包。
    1
    tar -xvf gcc-7.3.0.tar.gz
    

  3. 编译安装GCC。
    1. 进入GCC文件路径并配置GCC参数。
      1
      2
      cd /home/gcc-7.3.0
      ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap
      

      • --prefix=PATH:指定GCC软件安装目录,默认路径“/usr”
      • --mandir=PATH:指定GCC软件文档目录,默认路径“/usr/share/man”
      • --infodir=PATH:指定GCC软件日志信息目录,默认路径“/usr/share/info”
      • --enable-bootstrap:指定启用bootstrap方式安装。

      如果配置报错提示“configure: error: no acceptable C compiler found in $PATH”,则执行以下命令。

      yum -y reinstall gcc gcc-c++
    2. 编译GCC源码。
      1
      make -j 96
      

      “-j 96”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,可用cat /proc/cpuinfo | grep processor | wc -l进行查看,此数值应小于或等于CPU核数。

    3. 安装GCC。
      1
      make -j 96 install
      
  4. 查看GCC版本。
    1
    gcc -v
    

    可以看到GCC的版本已经升级为7.3.0。

openEuler 22.03下安装GCC 7.3.0

  1. 下载gmp源码包并解压。
    mkdir /home/gcc-7.3.0 && cd /home/gcc-7.3.0
    wget https://ftp.gnu.org/gnu/gmp/gmp-6.1.0.tar.bz2
    tar -jxvf gmp-6.1.0.tar.bz2
  2. 建立gmp编译目录,并进行编译安装。
    cd gmp-6.1.0
    mkdir build && cd build
    ../configure --prefix=/opt/tools/gcc/gmp-6.1.0
    make
    make install

    --prefix=/opt/ltools/gcc/gmp-6.1.0用于指定gmp的安装目录,若当前没有该目录,执行如上命令后将自行创建。

  3. 下载mpfr源码包并解压。
    cd /home/gcc-7.3.0
    wget https://ftp.gnu.org/gnu/mpfr/mpfr-3.1.4.tar.bz2
    tar -jxvf mpfr-3.1.4.tar.bz2
  4. 建立mpfr编译目录,并进行编译安装。
    cd mpfr-3.1.4
    mkdir build && cd build
    ../configure --prefix=/opt/tools/gcc/mpfr-3.1.4 --with-gmp=/opt/tools/gcc/gmp-6.1.0
    make
    make install

    --prefix=/opt/tools/gcc/mpfr-3.1.4用于指定mpfr的安装目录,若当前没有该目录,执行如上命令后将自行创建。

  5. 下载mpc源码包并解压。
    cd /home/gcc-7.3.0
    wget https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
    tar -zxvf mpc-1.0.3.tar.gz
  6. 建立mpc编译目录,并进行编译安装。
    cd mpc-1.0.3
    mkdir build && cd build
    ../configure --prefix=/opt/tools/gcc/mpc-1.0.3 --with-gmp=/opt/tools/gcc/gmp-6.1.0 --with-mpfr=/opt/tools/gcc/mpfr-3.1.4
    make
    make install

    --prefix=/opt/tools/gcc/mpc-1.0.3用于指定mpc的安装目录,若当前没有该目录,执行如上命令后将自行创建。

  7. 下载isl源码包并解压。
    cd /home/gcc-7.3.0
    wget https://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
    tar -jxvf isl-0.16.1.tar.bz2
  8. 建立isl编译目录,并进行编译安装。
    cd isl-0.16.1
    mkdir build && cd build
    ../configure -prefix=/opt/tools/gcc/isl-0.16.1 -with-gmp-prefix=/opt/tools/gcc/gmp-6.1.0
    make
    make install

    -prefix=/opt/tools/gcc/isl-0.16.1用于指定isl的安装目录,若当前没有该目录,执行如上命令后将自行创建。

  9. 设置环境变量。
    export LD_LIBRARY_PATH=/opt/tools/gcc/gmp-6.1.0/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=/opt/tools/gcc/mpfr-3.1.4/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=/opt/tools/gcc/mpc-1.0.3/lib:${LD_LIBRARY_PATH}
    export LD_LIBRARY_PATH=/opt/tools/gcc/isl-0.16.1/lib:${LD_LIBRARY_PATH}
  10. 重新加载环境变量设置。
    source /etc/profile
  11. 下载GCC源码包并解压。
    cd /home/gcc-7.3.0
    wget https://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
    tar -xvzf gcc-7.3.0.tar.gz
  12. 建立GCC编译目录,并进行编译安装。编译过程大概需要30分钟。
    cd gcc-7.3.0
    mkdir build && cd build
    ../configure --prefix=/opt/tools/gcc/gcc-7.3.0 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++ --with-gmp=/opt/tools/gcc/gmp-6.1.0 --with-mpfr=/opt/tools/gcc/mpfr-3.1.4 --with-mpc=/opt/tools/gcc/mpc-1.0.3 --disable-multilib
    make -j 96
    make install
    • --prefix=/opt/tools/gcc/gcc-7.3.0用于指定GCC的安装目录,若当前没有该目录,执行如上命令后将自行创建。
    • “-j 96”参数充分利用多核CPU优势,加快编译速度,参数“-j”后数字为CPU核数,可用cat /proc/cpuinfo | grep processor | wc -l进行查看,此数值应小于或等于CPU核数。
  13. 确认GCC版本。
    /opt/tools/gcc/gcc-7.3.0/bin/gcc --version