CentOS6.8升级gcc;编译node.js的V8
1.我系統是centOS 6.8. gcc的版本是4.4.7;因為需要編譯node.js的C++擴展插件,所以安裝了V8引擎,可是編譯時報錯。gcc不支持C++11.所以手動升級gcc一下;
2.獲取安裝包:
網址是:http://ftp.gnu.org/gnu/gcc/
我發布博客的當前時間來說,最新的是6.3.0
wget?http://ftp.gnu.org/gnu/gcc/gcc-6.3.0/gcc-6.3.0.tar.bz2
解壓:tar -jxvf?gcc-6.3.0.tar.bz2
3.編譯準備:
cd?gcc-6.3.0
運行./contrib/download_prerequisites下載依賴項
其實就是下載mpfr => gmp => mpc三個包;安裝有順序要求。
貌似默認安裝的版本比較舊。這些可以自行手動安裝;目前沒研究這些包新舊版本間的區別;
創建編譯目錄
mkdir gcc-build-6.3.0
cd gcc-build-6.3.0
../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
運行../configure時報錯:
configure: error: GNAT is required to build ada 下載安裝gnat
http://libre.adacore.com/download/configurations#
下載gnat-gpl-2016-x86_64-linux-bin.tar.gz并解壓gnat-gpl-2016-x86_64-linux-bin
創建目錄:/home/GCC/gnat
運行:make ins-all prefix=/home/GCC/gnat把路徑添加到PATH:export PATH=/home/GCC/gnat/bin/:$PATH
4.編譯
查看當前目錄gcc-build-6.3.0下生成了新的Makefile
make -j4
5.安裝
make install?
編譯安裝完成后;還有其他工作要做;
a.更新動態庫;如/lib64/libstdc++.so.7等。
b.重新編譯第三方庫等。
c.更新GDB,不然調測的時候會導致新GCC編譯的符號無法被識別;
總結
以上是生活随笔為你收集整理的CentOS6.8升级gcc;编译node.js的V8的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用正则表达式——银行卡号,2-6位中文
- 下一篇: 这场不一样的2017杭州云栖大会!我们在