CentOS 6.5下源码安装GCC(2)

下面进入正式安装:
 
切换到root用户(先前使用sudo总是提示找不到工具,可能是没有读进换进变量,也可能是在用户目录下进行编译的问题),先前弄得有点乱,依赖问题全部解决后还是有configure: error: source directory already configured; run "make distclean" there first这样的报错,但是,make distclean执行不成功,后来干脆就不在用户目录下进行了
 
切换至/opt目录(用户目录下连flex都找不到),解压gcc源码包到这个目录
 
tar xzvf gcc-4.8.2.tar.gz
 
cd gcc-4.8.2
 
./contrib/download_prerequisites  (执行这个脚本自动下载并关联GMP,MPFR和MPC,不然会产生一系列报错诸如:
 

1、cannot find the library `../libgmp.la' or unhandled argument `../libgmp.la'

2、checking for suffix of object files... configure: error: in `/home/Oracle/Downloads/gcc-4.8.2/i686-pc-linux-gnu/libgcc':

configure: error: cannot compute suffix of object files: cannot compile

See `config.log' for more details.,查看日志提示找不到libmpc.so.2,可是他明明就在那里,还是让gcc自己编译吧

3、而且这么干连分别安装时安装MPFR的 gmp.h version and libgmp version are the same... (4.3.2/4.3.1) no报错都解决了,当然,如果特别想分别安装,这个错误可以在MPFR配置是使用./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib予以解决,分别安装好以后按照文档要求进行confiugure)
 
./contrib/download_ecj (这样就不用安装ecj了,毕竟用不了那么多东西,真要想装的话yum就行)
 
cd ..
 
mkdir objdir(据说不能再源码目录下编译,否则会出现configure: error: source directory already configured; run "make distclean" there first,我        没有试过)
 
cd objdir
 
../gcc-4.8.2/configure (没有设置prefix啥的,我这里没必要,大家需要的话可以设置)
 
make(差不多一个半小时,慢的一B)
 
make install (搞定)

测试一下看是不是成功
 
直接输入gcc --version
 
显示版本是4.8.2,成功

总结下来,最有用的还是官方文档和gnu的论坛和bug提交的邮件系统,认真看一下可以少走好多弯路,个人能力有限,欢迎大家指正或者补充,感激不尽。

GCC 的详细介绍请点这里
GCC 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18188.html