首先说明一下,我的系统是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