首先說明一下,我的系統是AMD CPU,安裝的操作系統是CentOS 5.5 64bit。
下載gcc源碼,執行configure之後,提示需要以下依賴包:
gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
接着下載上述依賴包的源碼:
gmp 4.3.2
mpfr 2.4.2
mpc 0.8.1
前兩個編譯和安裝沒有問題,mpc 0.8.1提示錯誤:
libmpfr.a(exceptions.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
說明導出鏈接爲共享庫時符號衝突,給configure加上參數:
configure --enable-shared=no
編譯爲靜態庫,重新編譯成功。
然後再編譯gcc,configure時加上參數:
configure --with -mpfr-lib=庫安裝路徑
編譯成功。
另,要進行多核並行編譯,以給make加上參數-jN:
make -jN
其中,N=CPU core+1