Linux升级gcc版本

来源:互联网 发布:淘宝买到假货如何索赔 编辑:程序博客网 时间:2024/04/30 01:18

本文描述了如何通过源码编译升级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 1cd gcc-6.3.0sudo ./contrib/download_prerequisitescd ..#建立编译输出目录sudo mkdir gcc-build-6.3.0#进入此目录,执行以下命令,生成makefile文件cd gcc-build-6.3.0sudo ../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=gccCOLLECT_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线程模型:posixgcc 版本 6.3.0 (GCC)
0 0
原创粉丝点击