Centos6.x 系统升级 gcc 版本解决node.js等编译报错问题
之前写了一篇文章进行过node.js编译,目前由于工作需要进行node.js进行编译发现编译报错,查资料说是gcc版本比较低(比如我这个老系统是自带的gcc 4.4.7),不支持c++11 导致无法编译通过。升级gcc版本以后确实编译成功了,这里记录下升级gcc版本过程。其他编译也有可能遇到类似问题。
PS:仅限于解决该问题,node.js的安装还是建议采用二进制部署,简单高效。
1,查看当前系统gcc版本。
[[email protected] ~]# g++ --version g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
按照之前的文章进行node.js编译报错确实是有的。这里考虑升级gcc版本,不要考虑yum update gcc了,这里包基本还是比较低的。
2,升级gcc版本
到官网进行gcc包下载,官网地址:http://http//ftp.gnu.org/gnu/gcc/,这里以当前最新版本cc-7.3.0为例下载安装。升级完成以后再次编译node.js成功。
cd /usr/local/src wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz tar zxvf gcc-7.3.0.tar.gz cd ./contrib/download_prerequisites #作用:下载一些需要依赖的库,以及做好配置工作 mkdir build cd build ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib make #(多cpu可考虑加-j cpunumber,另外编译时间会很久,终端断开比较恼火,建议使用screen虚拟终端下编译) make install