自己編譯GCC(compile gcc from source)


有的時候,我不是第一次遇到這種時候,編譯內核時報出編譯器BUG。如果是ubuntu還好一點,默認軟件倉庫中就有好幾個GCC,換一換總能找到一個好使的,實在不行還有個Tooltrain的ppa,但Debian卻沒什么選擇,可能可以去testing里或unstable里找找,不過這些都不夠靈活,讓我們直接編譯GCC吧!

聽起來很高大上的東西,實則很簡單了,參考如下兩篇文章即可

第一篇文章是官方文檔,多看看。

安裝需要的庫

sudo apt install libgmp-dev libmpfr-dev libmpc-dev

下載GCC

 到官方鏡像頁找個離着近點的鏡像(比如日本),下載release中的版本,比如 http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-6.4.0/gcc-6.4.0.tar.xz

編譯和安裝

tar xf gcc-6.4.0.tar.xz
mkdir gcc-build
cd gcc-build
../gcc-6.4.0/configure --prefix=/usr/local/gcc-6.4.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib --program-suffix=-6.4
make -j8
sudo make install

 

安裝alternative

上面我們編譯完的gcc路徑是 /usr/local/gcc-4.6.0/bin/gcc-4.6,我希望使用的時候直接替換系統的cc,但又要便於我來回切換,update-alternatives 已經有這樣的功能了,下面我們就來安裝alternative

sudo update-alternativess --install /usr/bin/cc cc /usr/local/gcc-4.6.0/bin/gcc-4.6 30
sudo update-alternativess --install /usr/bin/c++ c++ /usr/local/gcc-4.6.0/bin/g++-4.6 30

 最后一個參數是優先級,優先級最高的會被默認選中,還可以手動選擇使用哪個alternative,選擇的方法是

sudo update-alternativess --config cc

 

把cc換成c++,就可以選擇c++了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM