從進入碼農時代已經有好幾年了,一直沒有寫博文的習慣,用到的很多東西沒有記錄,到後面就忘了,需要用時,又不停上百度google一下,費時間又費精力,還不一定能找到滿意的答案,因此開個部落格記錄下。(廢話不多說了)
今天在公司伺服器上源碼安裝Nodejs報錯 WARNING: C++ compiler too old, need g++ 4.8 or clang++ 3.4 (CXX=g++),直接yum update gcc不能升級到4.8,然後只能手動處理了。
開始,如果linux安裝了wget命令:
wget http://ftp.gnu.org/gnu/gcc/gcc-6.1.0/gcc-6.1.0.tar.gztar -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上,解壓:
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/ 目錄,然後設定軟連結:
ln -sf gmp-4.3.2 gmpln -sf isl-0.15 islln -sf mpc-0.8.1 mpcln -sf mpfr-2.4.2 mpfr
設定好後,就可以開始安裝了:
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,希望對大家有所協助,如果大家有任何疑問請給我留言,小編會及時回複大家的。在此也非常感謝大家對雲棲社區網站的支援!