查看: 101|回复: 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

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 2026-6-6 07:19:53 | 显示全部楼层
顶一个!辛苦楼主分享经验了~

说真的,源码编译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:dzh188@hotmail.com

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

在本版发帖返回顶部