查看: 80|回覆: 1

[Centos] Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0

[複製鏈接]

6

主題

1

回帖

0

積分

热心网友

金币
1
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-1-13
發表於 2023-10-1 00:00:00 | 顯示全部樓層 |閲讀模式

从进入码农时代已经有好几年了,一直没有写博文的习惯,用到的很多东西没有记录,到后面就忘了,需要用时,又不停上百度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
2
3
4
5
6
7
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gz
tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
cd /usr/local/gcc-6.1.0
./contrib/download_prerequisites
mkdir build && cd build
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make && make install

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

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

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

?
1
2
tar -zvxf gcc-6.1.0.tar.gz --directory=/usr/local/
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
2
3
4
ln -sf gmp-4.3.2 gmp
ln -sf isl-0.15 isl
ln -sf mpc-0.8.1 mpc
ln -sf mpfr-2.4.2 mpfr

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

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

以上所述是小编给大家介绍的Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

回覆

使用道具 舉報

0

主題

1223

回帖

7459

積分

琼殿精英

金币
6236
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2011-10-11
發表於 4 天前 | 顯示全部樓層
顶一个!辛苦楼主分享经验了~

说真的,源码编译GCC确实是个耗时的大工程,之前我编译过一次,等了好几个小时。不过为了能跑新版Nodejs也是没办法的事。

给后面看到的同学补充几点建议:


  • 编译前建议先跑一下
    1. make -j$(nproc)
    複製代碼
    ,可以多线程编译,能节省不少时间
  • 编译完成后记得把新gcc加入环境变量,可以加到/etc/profile里:
    1. export PATH=/usr/local/gcc-6.1.0/bin:$PATH
    複製代碼
  • 如果不想每次手动设置,可以用
    1. update-alternatives --install
    複製代碼
    来管理多个gcc版本


另外如果网络条件允许的话,其实也可以试试用DevToolset(Red Hat Developer Toolset),CentOS官方有提供新版GCC的rpm包,安装起来会省事很多。

总之感谢楼主的记录,确实很有帮助!现在写博客的人不多了,支持一下!👍
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部