linux下源码安装GCC

GCC的安装

    要学习和修改GCC源码,首先第一步是在自己的机器上用GCC源代码编译出一个选定版本的GCC(这里以gcc-5.3.0.tar.bz2在mintOS上的安装为例,源码可以从http://gcc.gnu.org去下载)。除此之外,GCC依赖于gmp、mpfr、mpc三个库,如果你机器上没有,或者版本太老以至于无法支持新的GCC,那么你还得去把这三个库下载下来。

一般来说,下载GCC是从GNU的FTP镜像网站去下载,gcc的代码包一般放置在/release/gcc-x.y目录下,而那三个依赖库一般放置在/infrastructure/目录下。

1、把依赖库和GCC解包
tar -jxvf gmp-4.3.2.tar.bz2 -C /usr/src/
tar -jxvf mpfr-2.4.2.tar.bz2 -C /usr/src/
tar -xvf mpc-0.8.1.tar.gz -C /usr/src/
tar -jxvf gcc-5.3.0.tar.bz2 -C /usr/src/</span>

2、到自己的home目录下编译依赖库

cd ~   #~表示用户目录(例如/home/chandler)
mkdir gmp-build
cd gmp-build
/usr/src/gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2  #指定安装位置
make
make check  #check可能未全部通过,无妨
make install  #安装需切换到root权限

cd ~
mkdir mpfr-build
cd mpfr-build
/usr/src/mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
make
make check
make install

cd ~
mkdir mpc-build
cd mpfr-build
/usr/src/mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
make
make check
make install
3、编译GCC

cd ~ #~仍然表示用户目录
mkdir gcc-build
cd gcc-build
/usr/src/gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3.0 --with-mpc=/usr/local/mpc-0.8.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2 --enable-languages=c,c++  #可能需要加上--disable-multilib
make
make install


Q:在编译过程中,可能出现configure:error:cannot compute suffix of object files :cannot compile

       解决办法 :安装目录下有错误日志的config.log,打开config.log 查找下error会发现很多错误,大部分是库没找到,如果不想做细分析的话,在shell中输入以下命令,然后重新编译,整个编译过程花了一个多小时
       export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib

4.安装完成后,到/usr/local/bin目录下建立符号连接

sudo ln -s /usr/local/gcc-5.3.0/bin/gcc gcc530
sudo ln -s /usr/local/gcc-5.3.0/bin/g++ g++530


          在正式使用之前还有最后一个工作要做,就是将前面安装的三个库的路径加进环境变量LD_LIBRARY_PATH中,不然在编译程序的时候会出错,提示找不到共享库。编辑/etc目录下的bash.bashrc文件配置shell环境。在这个文件中添加以下语句:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib #需要加gcc的lib吗

       保存重启系统后,就可以使用新装的gcc了

PS:最简单的办法是在gcc编译之前,即make之前,在/etc/bash.bashrc下配置即可,然后完成编译,安装


参考资料:http://blog.csdn.net/sonicling/article/details/6702031#comments

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值