CentOS6.3編譯fibjs

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或者以上的了

  1. 下載源碼包

    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

  2. 下載編譯所需依賴庫

     cd gcc-4.8.0
     ./contrib/download_prerequisites 
     cd ..
  3. 建立編譯輸出目錄

     mkdir gcc-build-4.8.0
  4. 進入此目錄,執行以下命令,生成makefile文件

     cd  gcc-build-4.8.0
     ../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
  5. 編譯 make -j4 #簡單的可以使用make,參數j是配置資源使用情況的
    時間會比較長的,我用了一個小時,沒辦法,機器差,大學買的本本。

  6. 安裝

     sudo make install
  7. 切換GCC到新版 確定新安裝的GCC的路徑,一般默認在/usr/local/bin下。
    添加新GCC到可選項,倒數第三個是名字,倒數第二個參數爲新GCC路徑,最後一個參數40爲優先級,設大一些之後就自動使用新版了

         update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
  8. 執行完地7步,重新開個shell,看看 gcc -v輸出什麼是不是版本已經修改過了成我們剛剛編譯好的了。

  9. 通過我的錯誤日誌可以看出編譯fibjs使用了/usr/bin/cc,/usr/bin/c++兩個編譯程序

     cd /usr/bin
     ./cc -v
     ./c++ -v

    看下是不是已經更改爲最新的版本了,如果已經是最新的版本那麼下面的就不用看了,去編譯fibjs嘍。

  10. 看到這裏一定是/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++
  11. 結束,搞完,終於可以在CentOS上搞fibjs啦。。。。。

參考資料


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章