看到gcc 4.4.0已经出来了,据说相比4.3.X有较大的性能提升,对 C++ 0x 标准的支持也有了大幅提升。上周就把公司的Linux服务器中的GCC进行了升级。在编译的过程中,遇到了一些问题,重复过数次,终于在上周末前把它搞定了,现在把它记录下来。

1.首先把GCC的源文件包下载并解压到一个目录中。为了方便起见,我用Samba把我的Home目录共享到了WINDOWS中,所以可以直接用WINDOWS下的解压工具直接解压到~/gcc-4.4.0目录下。

2.为了保持源码目录的干净,GCC的安装说明希望我们新建一个目录在新的目录中进行配置与编译。我创建了一个Build目录。

3.下载编译GCC所需要的mpfr库和gmp库。我下载了一个最新的mpfr和gmp库,配置(configure),编译(make),并安装(make install)。

4.在/etc/ld.so.conf.d目录中新建一个mpfr-x86_64.conf文件,文件的内容是mpfr的安装目录,我的是/usr/local/lib;再新建一个mpfr-i386.conf文件,文件内容是正确的mpfr的安装目录。(由于我所用的LINUX是X86_64的版本,原来有的是mpfr的x86的版本,所以需要重新编译)。再运行ldconfig命令。

5.进入GCC源目录中刚才建立的Build目录,运行…/configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-libgcj-multifile –enable-languages=c,c++ –disable-dssi –enable-plugin –with-cpu=generic –with-gmp=/usr/local –with-mpfr=/usr/local –host=x86_64-redhat-linux –build=x86_64-redhat-linux –enable-bootstrap

6.运行make,然后就是漫长的等待,大概需要1个多2个小时,由机器性能高低决定。

7.运行make install。

其实,我感觉要编译GCC最关键的是在配置这一步上,只要配置好了,编译的时候就不会出错。如果配置没有对,就会在编译的过程中出现各种各样的问题。