Linux(Centos)下編譯安裝gcc4.8.2

gcc4.8.1 開始完全支持C++11 的編譯器。今天教大家安裝gcc4.8.1版本。

Linux(Centos)下編譯安裝gcc4.8.2

  • 獲取gcc4.8.2包:

    下載鏈接:http://gcc.skazkaforyou.com/releases ,里面有gcc所有的版本,自行下載。
    也可以選擇(推薦):

    $ wget http://gcc.skazkaforyou.com/releases/gcc-4.8.2/gcc-4.8.2.tar.gz
    
  • 解壓縮

    $ tar -zxvf gcc-4.8.2.tar.gz
    
  • 安裝依賴

    安裝編譯gcc4.8.2,系統(tǒng)需要安裝一個(gè)低版本的gcc如果 gcc、gcc-c++ 機(jī)器已經(jīng)安裝,此步驟可以略過。

      ```sh
      $ yum update
      $ yum install gcc
      $ yum install gcc-c++
      ```
    

    進(jìn)入 gcc-4.8.2 目錄,執(zhí)行 ./contrib/download_prerequisites 腳本,會(huì)自動(dòng)下載三個(gè)依賴庫(kù)別為gmp-4.3.2、mpfr-2.4.2、mpc-0.8.1

    $ cd gcc-4.8.2
    $ ./contrib/download_prerequisites
    
  • 編譯

    $ cd gcc-4.8.2
    $ ./configure --prefix=/usr --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib 
    $ sudo make && make install
    
  • 驗(yàn)證

    $ gcc -v
    
  • 參考地址

安裝錯(cuò)誤解決方案:

onfigure: error: in `/opt/soft/gcc-4.8.2': configure: error: no acceptable C compiler found in $PATH

缺少 gcc,安裝即可:
```sh
$ yum update
$ yum install gcc

configure: error: C++ compiler missing or inoperational

缺少 gcc-c++,安裝即可:
sh $ yum update $ yu

libstdc++.so.6: version 'GLIBCXX_3.4.15' not found錯(cuò)誤的解決

  • 錯(cuò)誤原因是缺少GLIBCXX_3.4.15版本,或是更高的版本。為了核實(shí)版本問題:

    $ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
    
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    

    我們看到當(dāng)前gcc版本中的確沒有GLIBCXX_3.4.15,考慮到剛安裝過新版的gcc,似乎不應(yīng)該出現(xiàn)這樣的問題。

    順著gcc安裝路徑,找到了新的libstdc++

    $ strings /usr/local/lib64/libstdc++.so.6.0.20|grep GLIBCXX
    
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    GLIBCXX_3.4.3
    GLIBCXX_3.4.4
    GLIBCXX_3.4.5
    GLIBCXX_3.4.6
    GLIBCXX_3.4.7
    GLIBCXX_3.4.8
    GLIBCXX_3.4.9
    GLIBCXX_3.4.10
    GLIBCXX_3.4.11
    GLIBCXX_3.4.12
    GLIBCXX_3.4.13
    GLIBCXX_3.4.14
    GLIBCXX_3.4.15
    GLIBCXX_3.4.16
    GLIBCXX_3.4.17
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBCXX_3.4.20
    GLIBCXX_FORCE_NEW
    GLIBCXX_DEBUG_MESSAGE_LENGTH
    
    

    這里該有的都有了,把這份軟鏈到正確的地方,就妥了。

    $ cp /usr/local/lib64/libstdc++.so.6.0.20 /usr/lib64/
    $ cd /usr/lib64/
    $ rm -f libstdc++.so.6
    $ ln -s libstdc++.so.6.0.20 libstdc++.so.6
    $ ll libstdc*
    lrwxrwxrwx. 1 root root      19 5月  12 13:34 libstdc++.so.6 -> libstdc++.so.6.0.20
    -rwxr-xr-x. 1 root root  987096 11月 22 02:08 libstdc++.so.6.0.13
    -rwxr-xr-x. 1 root root 6700716 5月  12 13:33 libstdc++.so.6.0.20
    

    此后,再進(jìn)行編譯安裝就順暢了

  • 參考地址

我們是
二手轉(zhuǎn)轉(zhuǎn)前端(大轉(zhuǎn)轉(zhuǎn)FE)
知乎專欄:https://zhuanlan.zhihu.com/zhuanzhuan
官方微信公共號(hào):zhuanzhuanfe
微信公眾二維碼:

微信公眾二維碼

關(guān)注我們,我們會(huì)定期分享一些團(tuán)隊(duì)對(duì)前端的想法與沉淀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容