由于最近公司老大安排對gcc進行更新,是以就整理下這篇文檔,希望對有些盆友有些許幫助
1 安裝gmp4.3.2
tar jxvf gmp-4.3.2.tar.bz2
mkdir /usr/local/gmp-4.3.2
cd /usr/local/gmp-4.3.2
/opt/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2
make && make install
2 安裝mpfr2.4.2
tar jxvf mpfr2.4.2.tar.bz2
mkdir /usr/local/mpfr-2.4.2
cd /usr/local/mpfr-2.4.2
/opt/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
make && make install
3安裝mpc0.8.1
tar jxvf gmpc0.8.1.tar.bz2
mkdir /usr/local/mpc-0.8.1
cd /usr/local/mpc-0.8.1
/opt/mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
4安裝GCC 配置安裝選項
将gcc-4.6.1.tar.bz2放到/opt檔案夾下解壓
cd /opt
tar xjvf gcc-4.6.1.tar.bz2
建立安裝目錄
mkdir /usr/local/gcc-4.6.1/
進入安裝目錄
cd /usr/local/gcc-4.6.1/
配置安裝檔案
/opt/gcc-4.6.1/configure --prefix=/usr/local/gcc-4.6.1 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
編譯安裝檔案
make
大概十幾分鐘後出現第一個報錯
第二個錯誤出現了:
/usr/local/gcc-4.6.1/i686-pc-linux-gnu/libgcc/config.log
ctrl+f查找error 發現如下錯誤
/----------------------------------------------------------------------------------
/usr/local/gcc-4.6.1/./gcc/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
configure:3058: $? = 1
----------------------------------------------------------------------------------/
在網上找到了解決方法,需要添加環境變量LD_LIBRARY_PATH以指出前面三個庫的位置,鍵入以下指令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib
再次編譯約三個小時後成功了
5執行安裝gcc
make install
如果不出意外,那麼到現在應該安裝成功了,不過還是不能使用新版本的gcc,因為新版本的gcc還沒有加入指令搜尋路徑中!
8.建立軟連結
sudo ln -s /usr/local/gcc-4.6.1/bin/gcc gcc461
sudo ln -s /usr/local/gcc-4.6.1/bin/g++ g++461
9.添加環境變量
打開/etc目錄下的bashrc檔案添加如下代碼:
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.6.1/lib
export LD_LIBRARY_PATH