由于服务器环境无法联网,不能使用yum进行在线安装,需要全程手动,记录下安装过程
一.下载依赖包:
- isl-0.18.tar.bz2
- mpc-1.0.3.tar.gz
- mpfr-3.1.4.tar.bz2
- gmp-6.1.0.tar.bz2
4个依赖包可在 http://gcc.gnu.org/pub/gcc/infrastructure/ 进行下载
二.下载GCC源码包
- gcc-9.2.0.tar.gz
可在 http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-9.2.0/ 进行下载
三.解压 gcc-9.2.0.tar.gz
- tar -zxvf gcc-9.2.0.tar.bz2
四.(重点)将第一步下载的4个依赖包复制到解压后的 gcc-9.2.0 目录中去,这4个包不需要解压,直接放入
- 执行 ./contrib/download_prerequisites
联网状态下可以直接跳过第一步,执行这个脚本的时候也会自动从网络下载4个依赖包,咱们这里没有网络,所以将4个依赖包提前放入到gcc的目录中去,脚本会自动找到这4个包,不需要联网。
五.配置、编译、安装
- 创建一个目标安装目录: mkdir /opt/gcc920
- 执行配置:./configure --prefix=/opt/gcc920 --disable-checking --enable-languages=c,c++ --disable-multilib
- 编译:make (编译需要很长时间,建议吃个饭回来)
- 安装:make install
六.配置环境变量,启用新版本
- /etc/profile 在其中的最后添加代码 例如 export PATH="/opt/gcc920/bin:$PATH"
- 测试: gcc -v
- 测试: cc -v
- gcc 和 cc要一致,否则编译的时候会有各种错误
- 如果以前安装过低版本的gcc环境,很有可能gcc和cc不一致,使用which cc 找到cc位置并删除 rm cc (cc实际指向的就是gcc);直接使用命令创建个链接 ln -s gcc cc