Linux升级gcc版本
本文描述了如何通过源码编译升级gcc,日常工作中无论是在服务器安装node.js或者postgres都要使用较新的gcc,而centOS默认的gcc版本太低,通常都要升级才能满足要求。
而升级的过程如果不熟悉,会在下载源代码和编译上浪费很多时间,导致大半天都搞不完。此文除了有具体步骤外还整理出一份脚本,只需使用sudo运行即可在1小时内自动完成升级。
1.编辑以下内容到upgradeGcc.sh
#!/bin/bash
#获取源码(由于官方镜像速度较慢,这里使用了中国科学院开源协会的镜像
sudo wget http://mirrors.opencas.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
#如果以上给出的镜像不可用,也可以是使用http://ftp.gnu.org/gnu/gcc/,但由于有墙的存在,通常这样都很慢,建议本地通过shadowsocks 下载后放到服务器上再继续以下步骤
#解压
sudo tar -jxvf gcc-6.3.0.tar.bz2
#下载编译所需的依赖项
#如果想更快,可以利用中国科学院开源协会的镜像加速下载gmp和mpfr这两个包(另外两个包镜像没有收录),手动替换./contrib/download_prerequisites的以下两处命令:
#1) 把wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1 替换成wget http://mirrors.opencas.org/gnu/mpfr/$MPFR.tar.bz2 || exit 1
#2) 把wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1 替换成wget http://mirrors.opencas.org/gnu/gmp/$GMP.tar.bz2 || exit 1
cd gcc-6.3.0
sudo ./contrib/download_prerequisites
cd ..
#建立编译输出目录
sudo mkdir gcc-build-6.3.0
#进入此目录,执行以下命令,生成makefile文件
cd gcc-build-6.3.0
sudo ../gcc-6.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#执行命令进行编译,此处利用4个job,需编译时约40分钟,此值不宜设置过高
sudo make -j4
#安装
sudo make install
2.建议把upgradeGcc.sh放到/usr/src目录下,chmod 777后通过nohup运行,约1小时后安装完成
sudo nohup upgradeGcc.sh &
3.检查版本
$gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.3.0/lto-wrapper
目标:x86_64-pc-linux-gnu
配置为:../gcc-6.3.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 6.3.0 (GCC)
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇:没有了