1. 程式人生 > >CentOS gcc升級4.8步驟

CentOS gcc升級4.8步驟

最近需要用到c++11,所以需要把gcc從4.4.7升級到4.8.1。

首先我們需要下載gcc的原始碼

wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.gz

然後解壓進入目錄
tar -xvzf gcc-4.8.1.tar.gz -C /opt/gcc
cd /opt/gcc/gcc-4.8.1

執行如下命令:
./contrib/download_prerequisites

然後在gcc-4.8.1平級目錄下建立編譯目錄
cd ..
mkdir build_gcc_4.8.1

接下來就是執行編譯了

cd build_gcc_4.8.1
../gcc-4.8.1/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib  
make -j4
make install

如果在執行make 和 make install的時候沒有遇到error,那麼恭喜你,已經完成了gcc-4.8.1安裝了。

預設安裝路徑為:

/usr/local/bin

接下來就是升級版本了。

/usr/sbin/update-alternatives --install  /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc-4.8.1 40


/usr/sbin/update-alternatives --install /usr/bin/g++ g++ /usr/local/bin/g++ 40

再次檢視你伺服器的gcc版本可以看到已經更新為4.8.1

但其實在make 和 make install的過程中,多多少少還會碰到一些莫名其妙的問題。

我曾經出現的問題就是在make的時候出錯了,讓我懷疑我下載的安裝包是不是有問題。

後來執行 make clean 並刪除所有 build的檔案後,重新來了一遍,竟然成功了。

經過總結第一次失敗和第二次成功的唯一區別是:

第二次gcc-4.8.1解壓是放到/opt/gcc/目錄下了,後續的build_gcc-4.8.1也是放到/opt/gcc目錄下。

而第一次時,解壓原始碼gcc-4.8.1和後續的build_gcc-4.8.1都是放到/opt/根目錄下。