CentOS6.3編譯fibjs
下載 fibjs
開始編譯
有一點需要說明一下,你看清楚編譯環境的要求了麼!!!!
GCC 4.6 or newer CMake 2.6 or newer GNU Make 3.81 or newer libexecinfo (FreeBSD and OpenBSD only)
沒有特殊情況下你一定會在開始v8編譯的時候就會報錯,報語法錯誤,原因是CentOS的gcc的版本肯定<4.6,哈哈^_^,重頭戲在後面,升級gcc
下面重點說下升級gcc
由於fibjs是基於v8的,編譯v8目前已經要求gcc的版本是4.6或者以上的了
-
下載源碼包
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
解壓:tar -jxvf gcc-4.8.0.tar.bz2 -
下載編譯所需依賴庫
cd gcc-4.8.0 ./contrib/download_prerequisites cd ..
-
建立編譯輸出目錄
mkdir gcc-build-4.8.0
-
進入此目錄,執行以下命令,生成makefile文件
cd gcc-build-4.8.0 ../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
-
編譯 make -j4 #簡單的可以使用make,參數j是配置資源使用情況的
時間會比較長的,我用了一個小時,沒辦法,機器差,大學買的本本。 -
安裝
sudo make install
-
切換GCC到新版 確定新安裝的GCC的路徑,一般默認在/usr/local/bin下。
添加新GCC到可選項,倒數第三個是名字,倒數第二個參數爲新GCC路徑,最後一個參數40爲優先級,設大一些之後就自動使用新版了update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
-
執行完地7步,重新開個shell,看看 gcc -v輸出什麼是不是版本已經修改過了成我們剛剛編譯好的了。
-
通過我的錯誤日誌可以看出編譯fibjs使用了/usr/bin/cc,/usr/bin/c++兩個編譯程序
cd /usr/bin ./cc -v ./c++ -v
看下是不是已經更改爲最新的版本了,如果已經是最新的版本那麼下面的就不用看了,去編譯fibjs嘍。
-
看到這裏一定是/usr/bin目錄中的指向還沒有修改爲新的版本,下面開始修改
cd /usr/bin #rm cc gcc c++ g++ #不建議刪除,原因是有可能那天需要降低gcc的版本 mv cc cc.bak #其實這步可以不錯,cc連接到gcc mv gcc gcc.bak mv c++ c++.bak mv g++ g++.bak ln -s /usr/local/bin/gcc-4.8 cc ln -s /usr/local/bin/gcc-4.8 gcc ln -s /usr/local/bin/c++-4.8 c++ ln -s /usr/local/bin/g++-4.8 g++
-
結束,搞完,終於可以在CentOS上搞fibjs啦。。。。。
參考資料
- http://www.cnblogs.com/peterpanzsy/archive/2013/04/10/3006838.html
- http://lonelyprogram.blog.51cto.com/6246243/1355261
- http://apple.stackexchange.com/questions/99077/how-to-set-gcc-4-8-as-default-gcc-compiler
- 我的腦袋