天天看點

linux下gcc更新

由于最近公司老大安排對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

繼續閱讀