下载
中文
注册

安装7.3.0版本gcc

以下步骤请在root用户下执行。

  1. 在服务器任意目录(如“/home”)下,执行如下命令获取gcc-7.3.0.tar.gz源码包。
    wget https://repo.huaweicloud.com/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

    若该命令报错,用户可单击Link手动下载并上传源码包。

  2. 安装gcc时候会占用大量临时空间,所以先执行下面的命令清空“/tmp”目录。
    rm -rf /tmp/*
  3. 根据系统依赖包相应的在线安装方式安装依赖(以CentOS和Ubuntu系统为例)。
    • CentOS执行如下命令安装。
      yum install bzip2    
    • Ubuntu执行如下命令安装。
      apt-get install bzip2    
  4. 编译安装gcc。
    1. 进入gcc-7.3.0.tar.gz源码包所在目录,解压源码包,命令为:
      tar -zxvf gcc-7.3.0.tar.gz
    2. 进入解压后的文件夹,执行如下命令下载gcc依赖包:
      cd gcc-7.3.0
      ./contrib/download_prerequisites

      如果执行上述命令报错,需要执行如下命令在“gcc-7.3.0/”文件夹下下载依赖包:

      wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2
      wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2
      wget http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz
      wget http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2

      下载好上述依赖包后,执行以下命令:

      ./contrib/download_prerequisites

      执行上述命令若显示类似如下报错:

      gmp-6.1.0.tar.bz2: FAILED
      sha512sum: WARNING: 1 computed checksum did NOT match
      error: Cannot verify integrity of possibly corrupted file gmp-6.1.0.tar.bz2

      表示可能因网络原因gmp包没有下载完全,可执行rm -rf gmp-6.1.0.tar.bz2命令删除gmp包,再执行wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2命令重新下载。再执行./contrib/download_prerequisites命令。

    3. 执行配置、编译和安装命令:
      ./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0
      make -j15    # 通过grep -w processor /proc/cpuinfo|wc -l查看cpu数,示例为15,用户可自行设置相应参数。
      make install    
      • 编译耗时1小时左右,请用户耐心等待。
      • 其中“--prefix”参数用于指定gcc7.3.0安装路径,用户可自行配置,但注意不要配置为“/usr/local”“/usr”,因为会与系统使用软件源默认安装的gcc相冲突,导致系统原始gcc编译环境被破坏。示例指定为“/usr/local/gcc7.3.0”
  5. 配置环境变量(请在实际需要时再进行配置)。

    用户在启动在线推理或训练进程前需执行如下命令配置环境变量。

    export LD_LIBRARY_PATH=/usr/local/gcc7.3.0/lib64:${LD_LIBRARY_PATH}
    export CC=/usr/local/gcc7.3.0/bin/gcc
    export CXX=/usr/local/gcc7.3.0/bin/g++
    export PATH=/usr/local/gcc7.3.0/bin:${PATH}

    其中“/usr/local/gcc7.3.0”为4.c中配置的gcc7.3.0安装路径,请根据实际情况替换。

    执行gcc --version命令查看gcc版本,若返回如下版本信息,表示安装成功。
    gcc (GCC) 7.3.0

    如果用户明确需要gcc 7.3.0编译,且由于用户编译脚本等问题,无法通过环境变量控制gcc版本时,可执行如下操作,修改软链接。

    1. 备份旧版本软链接。
      mv /usr/bin/gcc /usr/bin/gcc.bak
      mv /usr/bin/g++ /usr/bin/g++.bak
      mv /usr/bin/c++ /usr/bin/c++.bak
      mv /usr/bin/cc /usr/bin/cc.bak
    2. 建立新版本软链接。
      ln -s /usr/local/gcc7.3.0/bin/gcc /usr/bin/gcc
      ln -s /usr/local/gcc7.3.0/bin/g++ /usr/bin/g++
      ln -s /usr/local/gcc7.3.0/bin/c++ /usr/bin/c++
      ln -s /usr/local/gcc7.3.0/bin/gcc /usr/bin/cc
    3. 执行gcc --version命令查看gcc版本,若返回如下版本信息,表示配置成功。
      gcc (GCC) 7.3.0