以下步骤请在root用户下执行。
wget https://repo.huaweicloud.com/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz
若该命令报错,用户可单击Link手动下载并上传源码包。
rm -rf /tmp/*
yum install bzip2
apt-get install bzip2
tar -zxvf gcc-7.3.0.tar.gz
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 wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 ./contrib/download_prerequisites
./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
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 (GCC) 7.3.0
如果用户明确需要gcc 7.3.0编译,且由于用户编译脚本等问题,无法通过环境变量控制gcc版本时,可执行如下操作,修改软链接。
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
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
gcc (GCC) 7.3.0