从进入码农时代已经有好几年了,一直没有写博文的习惯,用到的很多东西没有记录,到后面就忘了,需要用时,又不停上百度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。