升级Linux系统中的gcc编译器
一、准备工作
CentOS5.4发行版中的gcc版本为4.1.2,在编译gem5时出现错误,gem5要求gcc的版本在4.3以上,因此要对CentOS上得gcc进行升级。本文将gcc编译器升级到4.4.6,相关的软件包包括:
binutils-2.21.tar.bz2
gcc-4.4.6.tar.bz2
mpfr-3.0.1.tar.bz2
gmp-5.0.1.tar.bz2
从GNU网站上下载这些源码包,将这些源码包拷贝到CentOS5.4的某个目录下。
二、编译binutils-2.21
首先解压缩binutils源码包:
tar jxf binutils-2.21.tar.bz2
编译binutils源码包时编译目录要和源码目录分离,以便编译时不会影响源码目录。创建编译目录build/binutils-2.21,在编译目录下进行编译:
xxx/binutils-2.21/configure --prefix=/usr/local/gcc4.4.6
make
make install
其中xxx为binutils源码所在目录。经过上述步骤,就将binutils软件包中的程序安装到了/usr/local/gcc4.4.6目录下。
三、编译gcc-4.4.6
首先解压缩gcc源码包:
tar jxf gcc-4.4.6.tar.bz2
编译gcc需要mpfr和gmp库,解压缩这两个库文件,并将解压之后的库文件移动到gcc源码目录下。
tar jxf mpfr-3.0.1.tar.bz2
mv mpfr-3.0.1 mpfr
mv mpfr
tar jxf gmp-5.0.1.tar.bz2
mv gmp-5.0.1 gmp
mv gmp gcc-4.4.6
在编译目录下建立gcc-4.4.6子目录,在该目录下进行编译:
xxx/gcc-4.4.6/configure --prefix=/usr/local/gcc4.4.6 --enable-clocale=gnu --enable-shared --enable-threads=posix
make
make install
这样就将gcc编译器安装到/usr/local/gcc4.4.6目录下,在/etc/profile配置文件的最后添加语句:
export PATH=/usr/local/gcc4.4.6/bin:$PATH
将新安装的gcc编译器命令的路径放到PATH变量的最前面,这样以后执行gcc命令时就会调用gcc4.4.6,如果想使用以前的gcc时,就重新将PATH变量中的/usr/local/gcc4.4.6删除就可以。