您的位置:首页 > 运维架构 > Linux

Linux(CentOS 6.5) 手动升级gcc到gcc-6.1.0

2017-08-18 13:58 471 查看
从进入码农时代已经有好几年了,一直没有写博文的习惯,用到的很多东西没有记录,到后面就忘了,需要用时,又不停上百度google一下,费时间又费精力,还不一定能找到满意的答案,因此开个博客记录下。(废话不多说了)

  今天在公司服务器上源码安装Nodejs报错 WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++),直接yum update gcc不能升级到4.8,然后只能手动处理了。

  开始,如果linux安装了wget命令:  



1 wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz 2 tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
3 cd /usr/local/gcc-6.1.0
4 ./contrib/download_prerequisites
5 mkdir build && cd build
6  ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
7 make && make install




  如果是在虚拟机上安装,可能需要3-4个小时,耐心等待吧,少年。。。

 

  如果如果,如果你的linux很不辛,没有安装wget命令,或者不能访问外网,怎么办???继续往下看:

  先下载好最新的gcc(http://ftp.gnu.org/gnu/gcc/),我用的gcc-6.1.0.tar.gz,通过ftp上传到Linux上,解压:  

1 tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
2 cd /usr/local/gcc-6.1.0


 

  然后用vi打开 ./contrib/download_prerequisites 文件,查看当前你下载的gcc需要哪些依赖包。打开后看到如下内容:

 



  由此,我们还需要下载 gmp-4.3.2.tar.bz2、isl-0.15.tar.bz2、mpc-0.8.1.tar.gz、mpfr-2.4.2.tar.bz2,注意,依赖包一定要是指定版本的,否则会出问题。下载好依赖包,直接解压到/usr/local/gcc-6.1.0/ 目录,然后设置软链接:

1 ln -sf gmp-4.3.2 gmp
2 ln -sf isl-0.15 isl
3 ln -sf mpc-0.8.1 mpc
4 ln -sf mpfr-2.4.2 mpfr


 

  设置好后,就可以开始安装了:

1 mkdir build && cd build
2 ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
3 make && make install


 

  然后就是漫长的等待过程,到此,一切准备OK。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: