【轉載】轉載時請以超連接形式標明文章原始出處和做者信息及本聲明
http://www.blogbus.com/huangw10-logs/182474992.html
html
週末折騰了一下午加一晚上,終於弄明白了!失敗的緣由是網上着的帖子不少都是互相複製,其中由於每一個人的設置路徑之類的不同,做者複製時沒有注意,所以記錄以下,關鍵位置儘可能解釋清楚。c++
首先要明白前後次序,m4—>gmp—>mpfr—>mpcweb
一、準備工做(此部分是安裝三個庫的先決條件) :shell
先安裝m4,輸入 sudo aptitude install build-essential m4 ,此時有可能提示沒安裝aptitude,若是沒有,根據提示,輸入 sudo apt-get install aptitude 就OK
centos
二、安裝gmp、mpfr和mpc,均可以在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下載,我這裏分別下載gmp4.3.2,mpfr2.4.2和mpc0.8.1, 以後切換到root用戶(sudo -i) ,此爲如下步驟的前提!bash
在 /usr/local/下分別創建三個文件夾ide
cd /usr/local/ui
mkdir gmp432idea
mkdir mpfr242spa
mkdir mpc081
(1)安裝gmp,能夠提早 把下載的三個庫的壓縮包分別放到相應的文件夾下
cd gmp432 *這個文件夾可理解爲是將gmp安裝在這裏
bunzip2 gmp-4.3.2.tar.bz2
tar xf gmp-4.3.2.tar *生成gmp-4.3.2文件夾(這個文件夾可理解爲是安裝文件所在的目錄)
cd gmp-4.3.2
./configure --prefix=/usr/local/gmp432
*--prefix選項表明要將該庫安裝在哪裏,我裝在/usr/local/gmp432目錄下,後面的安裝都會用到這個選項。
make *若是出錯,從新configure的話,先make distclean清除make信息後再從新configure
make check * 在編譯的時候,最後沒提示什麼錯誤再往下進行, 建議每一次make以後都運行這個命令
make install *裝好後/usr/local/gmp432/目錄下有三個文件夾
make clean
(2)安裝mpfr,
cd mpfr242
cd mpfr-2.4.2
./configure --prefix=/usr/local/mpfr242 --with-gmp=/usr/local/gmp432
*注意這個地方的路徑匹配,gmp安裝在哪這個地方就要寫哪,由於是依存關係!建議統一安裝在gmp43二、
mpfr24二、mpc081這三個地方
make
make check
make install
(3)安裝mpc,
cd mpc081
cd mpc-0.8.1
./configure --prefix=/usr/local/mpc081 --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242
*同上,注意路徑!!!
make
make check
make install
三、安裝gcc-4.4.5
在/usr/local/下新建gcc445文件夾,以後在http://gcc.gnu.org/index.html 上下載gcc壓縮包,放在/usr/local/gcc445下,解壓縮後
cd gcc-4.4.5
./configure --prefix=/usr/local/gcc445 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242 --with-mpc=/usr/local/mpc081
*其餘帖子是創建個臨時文件夾,上面的語句開頭有些細微差異,這個是我本身悟出來的,也能夠參考
http://www.comdyn.cn/from-web/68-server-setup/164-centos-48-gcc450.html 按照他的方法,可是要
注意路徑。
爲保險起見,須要在環境變量LD_LIBRARY_PATH添加前面三個庫的位置,鍵入如下命令:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib *注意路徑!
make *注意檢查有沒有錯誤,過程很慢,1-2個小時!
make check *若是make沒有問題,這一步能夠省略,由於時間好久
make install
保留舊版的gcc,創建符號連接
cd /usr/bin
ln -s /usr/local/gcc445/bin/gcc gcc44
ln -s /usr/local/gcc445/bin/g++ g44++
最後,在/etc/bashrc中(有帖子說是在/etc/profile中,這個我不肯定)增長下面兩行代碼:
LD_LIBRARY_PATH=:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib:/usr/local/gcc445/lib
export LD_LIBRARY_PATH
保存重啓系統後,就可使用新裝的gcc了,enjoy!
最後看到一個帖子提到以上命令能夠寫個shell文件,installgcc.sh,批處理執行,great idea!記下網址,有空能夠試試:http://bitterliquor.blog.hexun.com/65259015_d.html