分享

升级Linux系统中的gcc编译器

 zhngjan 2014-03-26

一、准备工作

CentOS5.4发行版中的gcc版本为4.1.2,在编译gem5时出现错误,gem5要求gcc的版本在4.3以上,因此要对CentOS上得gcc进行升级。本文将gcc编译器升级到4.4.6,相关的软件包包括:

binutils-2.21.tar.bz2    包含as汇编器和ld链接器;

gcc-4.4.6.tar.bz2        包含gcc编译器

mpfr-3.0.1.tar.bz2      包含mpfr库,编译gcc需要

gmp-5.0.1.tar.bz2      包含gmp库,编译gcc需要

从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  gcc-4.4.6

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  --enable-__cxa_atexit --enable-languages=c,c++ --disable-libstdcxx-pch --disable-multilib  --with-gmp-include=$(pwd)/gmp --with-gmp-lib=$(pwd)/gmp/.libs  --without-ppl --without-cloog  --disable-bootstrap

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删除就可以。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约