CentOS6.8升级gcc;编译node.js的V8
1.我系統(tǒng)是centOS 6.8. gcc的版本是4.4.7;因?yàn)樾枰幾gnode.js的C++擴(kuò)展插件,所以安裝了V8引擎,可是編譯時(shí)報(bào)錯(cuò)。gcc不支持C++11.所以手動(dòng)升級(jí)gcc一下;
2.獲取安裝包:
網(wǎng)址是:http://ftp.gnu.org/gnu/gcc/
我發(fā)布博客的當(dāng)前時(shí)間來(lái)說(shuō),最新的是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.編譯準(zhǔn)備:
cd?gcc-6.3.0
運(yùn)行./contrib/download_prerequisites下載依賴項(xiàng)
其實(shí)就是下載mpfr => gmp => mpc三個(gè)包;安裝有順序要求。
貌似默認(rèn)安裝的版本比較舊。這些可以自行手動(dòng)安裝;目前沒(méi)研究這些包新舊版本間的區(qū)別;
創(chuàng)建編譯目錄
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
運(yùn)行../configure時(shí)報(bào)錯(cuò):
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
創(chuàng)建目錄:/home/GCC/gnat
運(yùn)行:make ins-all prefix=/home/GCC/gnat把路徑添加到PATH:export PATH=/home/GCC/gnat/bin/:$PATH
4.編譯
查看當(dāng)前目錄gcc-build-6.3.0下生成了新的Makefile
make -j4
5.安裝
make install?
編譯安裝完成后;還有其他工作要做;
a.更新動(dòng)態(tài)庫(kù);如/lib64/libstdc++.so.7等。
b.重新編譯第三方庫(kù)等。
c.更新GDB,不然調(diào)測(cè)的時(shí)候會(huì)導(dǎo)致新GCC編譯的符號(hào)無(wú)法被識(shí)別;
總結(jié)
以上是生活随笔為你收集整理的CentOS6.8升级gcc;编译node.js的V8的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 常用正则表达式——银行卡号,2-6位中文
- 下一篇: 这场不一样的2017杭州云栖大会!我们在