從進入碼農時代已經有好幾年了,一直沒有寫博文的習慣,用到的很多東西沒有記錄,到后面就忘了,需要用時,又不停上百度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。