以下步骤请在root用户下执行。
sudo 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
如果命令校验失败,需要确认上述依赖包在文件夹中的唯一性,无重复下载,若存在重复的依赖包,需删除。
./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/linux_gcc7.3.0 make -j15 # 通过grep -w processor /proc/cpuinfo|wc -l查看cpu数,示例为15,用户可自行设置相应参数。 make install
其中“--prefix”参数用于指定linux_gcc7.3.0安装路径,用户可自行配置,但注意不要配置为“/usr/local”及“/usr”,因为会与系统使用软件源默认安装的gcc相冲突,导致系统原始gcc编译环境被破坏。示例指定为“/usr/local/linux_gcc7.3.0”。
ln -s ${install_path}/gcc-7.3.0/bin/gcc /usr/bin/gcc ln -s ${install_path}/gcc-7.3.0/bin/g++ /usr/bin/g++ ln -s ${install_path}/gcc-7.3.0/bin/c++ /usr/bin/c++
export LD_LIBRARY_PATH=${install_path}/lib64:${LD_LIBRARY_PATH}
其中${install_path}为4.c中配置的gcc7.3.0安装路径,本示例为“/usr/local/gcc7.3.0/”。