首页 > 代码库 > gcc 4.9编译心得

gcc 4.9编译心得

因为C++不想直接用boost,有些已经和C++最新标准合并的就打算直接用C++里面的好了。


所以需要编译gcc 4.9。最新的版本是4.9.1,从ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.1/gcc-4.9.1.tar.bz2下载。


本来已经通过yum安装了不少依赖,发现isl和cloog无法通过yum安装,下载并安装,gcc,configure时,发现其需要cloog 17或者18.0版本,而我安装的是18.1版本,configure无法通过。还是老实地安装文档来吧。参考:http://blog.csdn.net/hzhxxx/article/details/28634893,为方便起见,拷贝相关内容如下:

1. 准备环境(GCC 编译器)
centOS 6.3
cat /proc/version 
Linux version 2.6.32-279.el6.x86_64 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.6 20120305 (Red Hat 4.4.6-4) (GCC) ) #1 SMP Fri Jun 22 12:19:21 UTC 2012
gcc --version
gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4)

2. 准备文件
gcc-4.9.0.tar.gz
官网(http://gcc.gnu.org/)下载:

ftp://mirrors.kernel.org/gnu/gcc/gcc-4.9.0/gcc-4.9.0.tar.gz

http://gcc.petsads.us/releases/


3. 安装步骤
3.1. 解压 gcc-4.9.0.tar.gz
得到目录 gcc-4.9.0,进入目录
#tar -xvzf gcc-4.9.0.tar.gz
#cd gcc-4.9.0

3.2. 下载编译准备文件
主要是需要下面的库文件(需要完整版本,下载全部文件)
MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1
ISL=isl-0.12.2
CLOOG=cloog-0.18.1
执行./contrib/download_prerequisites
如果编译机器不能上网,直接打开文本文件 download_prerequisites,把里面
依赖的库下载回来后,放在指定目录,然后注释下载命令,再次执行
contrib/download_prerequisites,把相关文件解压,并建立链接。
#vi contrib/download_prerequisites
注释 wget 相关的内容,手动把这些文件下载回来,拷贝到工作目录 gcc-4.9.0下。
#./contrib/download_prerequisites

3.3. 创建编译目录并编译安装
#mkdir ../gcc-build-4.9.0

#cd ../gcc-build-4.9.0

#../gcc-4.9.0/configure --prefix=/usr/local/gcc-4.9.0 --enable-stage1-checking=release --enable-stage1-languages=c,c++,go


在源码目录下,运行这个:(这个未必有价值,请继续看)

./contrib/download_prerequisites


还是提示一些错误,上面的错误还是有,并且:/usr/bin/ld: cannot find crt1.o: No such file or directory。安装32位库支持: yum install libXtst.i686 libxulrunner.i686。

结果还是有错误,根据提示编译时增加" --enable-multilib"这个选项:

../gcc-4.9.1/configure --prefix=/usr/local/gcc-4.9.1 --enable-stage1-checking=release --enable-stage1-languages=c,c++,java,go --enable-multilib,成功

make

make时出了不少错误,设法解决这个问题,最后换用--disable-multilib,就成功了


接着主要参考 www.owent.net/2014/04/linux-编译安装-gcc-4-9.html,

还是需要编译binutils,configure时说找不到isl,想了各种方法,最后是进入isl源码目录,gcc-4.9.1/contrib/isl,configure && make install。网上说应该configure --prefix=....,我是没用这种方式。

make gdb 7.8时,依据owenet.net那篇文档的介绍,加上选项 --with-python,yum -y install python-devel。加上对Python调试的功能。




gcc 4.9编译心得