引言:在离线环境下,在服务器上安装并更新gcc版本是一件特别复杂的事情。这里根据自己的离线更新尝试做笔记,方便记录和记忆;
gcc 版本查看:gcc --version
第一步:先下载我们需要安装的gcc版本,我这里安装的是 8.1版本的,下载地址为:
http://ftp.gnu.org/gnu/gcc/(可以在这里找自己喜欢的版本)
第二步:将下载好的压缩包放到自己喜欢的目录下,然后解压该压缩包到目录
'/usr/local/ '中:
tar -zvxf gcc-8.1.0.tar.gz --directory=/usr/local/
注:如果提示该目录不存在,你可以在你的服务器上找到该目录(/usr/local/),将gcc-8.1.0.tar.gz放到该目录下,并解压 tar -zvxf gcc-8.1.0.tar.gz
第三步:进入解压目录cd /usr/local/gcc-8.1.0
查看安装需要依赖的包有那些:vi ./contrib/download_prerequisites
一般在第30行~33行列出了需要的包:
gmp-6.1.0.tar.bz2 mpfr-3.1.4.tar.bz2 mpc-1.0.3.tar.gz isl-0.18.1.tar.bz2 (前三个版本可能是通用的,第四个需要注意一下对应的版本)。
对应的下载地址:
gmp下载链接:http://ftp.gnu.org/pub/gnu/gmp/
mpfr下载链接:http://mirror.hust.edu.cn/gnu/mpfr/
mpc下载链接:http://ftp.gnu.org/gnu/mpc/
isl 下载链接:http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/
第四步:下载完成后,将gmp、mpfr、mpc、isl安装放到cd /usr/local/gcc-8.1.0目录下并解压:
tar -xf gmp-6.1.0.tar.bz2
tar -xf mpfr-3.1.4.tar.bz2
tar -xf mpc-1.0.3.tar.gz
tar -xf isl-0.18.1.tar.bz2
第五步:建立软连接
ln -sf gmp-6.1.0 gmp
ln -sf mpfr-3.1.4 mpfr
ln -sf mpc-1.0.3 mpc
ln -sf isl-0.18.1 isl
最后一步:在 /usr/local/gcc-8.1.0目录下执行 (这一步的时间会很长(2-3h),大家可以去看会书,喝个咖啡啥的)
1 mkdir build
2 cd build
3 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
4 make
5 make install