本人linux镜像为centos7,虚拟机自带gcc版本为4.8.5,想要将其升级成为gcc-5.4.0进行操作。
解压并进入gcc包
tar -zxvf gcc-5.4.0.tar.gz
cd gcc-5.4.0
进入到其中联网依赖包下载的脚本中可以查看其配置的一些细节
vi contrib/download_prerequisites
Necessary to build GCC
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1
tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1
tar xjf $GMP.tar.bz2 || exit 1
ln -sf $GMP gmp || exit 1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1
tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1
# Necessary to build GCC with the Graphite loop optimizations.
if [ "$GRAPHITE_LOOP_OPT" = "yes" ] ; then
ISL=isl-0.14
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$ISL.tar.bz2 || exit 1
tar xjf $ISL.tar.bz2 || exit 1
ln -sf $ISL isl || exit 1
fi
由此可以对其中的脚本中需要进行下载的包进行提前准备后,按照脚本进行操作(可以新建一个允许联网的虚拟机将其进行下载)
tar -jxvf gmp-6.1.0.tar.bz2
ln -sf gmp-6.1.0 gmp
tar -jxvf mpfr-3.1.4.tar.bz2
ln -sf mpfr-3.1.4 mpfr
tar -zxvf mpc-1.0.3.tar.gz
ln -sf mpc-1.0.3 mpc
tar -jxvf isl-0.14.tar.bz2
ln -sf isl-0.14 isl
新建一个待编译的文件夹,例:
mkdir gcc-build
cd gcc-build
进入编译目录之后,生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
执行之后进行编译和安装
make && make install
查看gcc是否安装成功
gcc -v