gcc4.8.0源代码安装

最近项目要修改gcc源代码,最新的gcc4.8放出,对c11的支持有进步,自然要在最新的gcc上动手,vm虚拟机上装了个ubuntu10.04,自带的gcc是4.4.3的。

先看了下ubuntu software center发现已经有gcc4.8可以直接下载安装了,于是先下载装上,直接用4.8去编译4.8的源代码……

 

第一步,下载源代码http://gcc.gnu.org/

第二步,解压缩:tar zxvf gcc-4.8.0.tar.gz

第三步,新建一个build生成存放的目录,与解压缩后的目录平级:mkdir temp,并进入当前目录:cd temp

第四步,尝试配置gcc:../gcc-4.8.0/configure,结果出错:Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+,分别下载这几个依赖库

gmp:http://www.multiprecision.org/index.php?prog=mpc&page=download,最新版1.0.1

mpc:http://gmplib.org/#DOWNLOAD,最新版5.1.1

mpfr:http://www.mpfr.org/mpfr-current/#download,最新版3.1.2

下载完这三个库之后,由于存在的依赖关系,故要按顺序安装gmp,mpfr,mpc

gmp:

1.解压缩:tar zxvf gmp-5.1.1.tar.gz

2.新建一个build生成存放目录,与解压缩后的目录平级:mkdir temp,并进入新建目录:cd temp

3.配置:../gmp-5.1.1/configure,结果提示:No usable m4 in $PATH or /usr/5bin (see config.log for reasons).

下载m4:http://ftp.gnu.org/gnu/m4/,最新版1.4.16

3.1.同2一样的建立一个temp目录,转至该temp目录

3.2.配置:$../m4-1.4.16/configure,

3.3.然后:$make,

3.4.然后:$sudo make install,完成安装m4。

4.继续安装gmp,如3-1到3-4的步骤,完成安装gmp,网上查到在configure时,加--prefix=/usr/local/gmp来指定安装目录的,此处不指定,会默认安装到/usr/bin,/usr/lib,/usr/include下。

5.与4相同的步骤完成mpfr的安装,不过此时配置mpfr的configure时,需要指定依赖gmp,用--with-gmp=/usr/local

6.与4相同的步骤完成mpc的安装,此时需要指定依赖gmp和mpfr,用--with-gmp=/usr/local --with-mpfr=/usr/local

7.在编译过程中,遇到过这样的错误:zlib.h: No such file or directory,是由于没有安装zlib,用指令sudo apt-get install zlib1g-dev进行安装

第五步.继续配置gcc的configure,进入到第四步建立的temp文件夹下,运行:$../gcc-4.8.0/configure --prefix=/usr/local/gcc4.8 --enable-languages=c,c++(这里仅指定gcc的安装目录与支持的语言,如果有其他的需求,需要另行指定参数)

第六步.设置环境变量,$export LD_LIBRARY_PATH=/usr/local/lib(注意,此环境变量为临时变量,关闭shell会丢失,故最好每次make之前都设置一下)

第七步.开始编译:$make( 注意不要切换root账号,我曾经脑残的用sudo make,这完全不是一个用户了……,这将是一个漫长的过程,等待啊,等待……)

第八步.安装:$sudo make install(我就不装了,只是为了能编译通过而已……)

 

                               

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值