之前讨论了很多关于编译gcc的事情,都源自于当年在CentOS6.2上编译gcc4.7.2的事情,简直苦不堪言。今天工作需要又要用CentOS了,用于gcc只用了更严格的开源协议GPL v3的问题,CentOS官方所能提供的最新gcc版本只能到4.4,要使用新特性,必须手动编译新版本的gcc。经过了几年的学习和积累,今天上午轻松通过了当初恶魔般的centos上gcc编译。知识方面和配置选项含义方面的东西在我前几篇关于编译gcc的blog中有重复的介绍,这里主要讲操作步骤。参考:http://www.linuxidc.com/Linux/2014-04/99583.htm我所使用的系统是CentOS 6.4 64位版。提醒:建议分配的硬盘空间大于10G,否则可能会出现编译时遭遇磁盘空间不足的问题。
编译步骤
1,安装gcc,g++yum install gcc g++2,安装静态glibcyum install glibc-static3,安装cloog和gmp开发版(因为需要手动编译isl)yum install cloog-ppl gmp-devel4,下载编译isl(CentOS没有提过rpm包,需要手动下载。另外它不是gnu的项目,为了方便起见,可以直接在gcc的官方资源下载地址找ftp://gcc.gnu.org/pub/gcc/infrastructure/)wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.11.1.tar.bz2tar xfj isl-0.11.1.tar.bz2cd isl-0.11.1./configuremakemake install5,下载并解压gcc,创建编译用临时目录假设下载到了当前目录,文件名为gcc-4.8.1.tar.bz2tar xfj gcc-4.8.1.tar.bz2cd gcc-4.8.1mkdir build5,下载gmp,mpfr,mpc源码通过自带脚本一键搞定。./contrib/download_prerequisites其实gmp包可以不下载了;另外这3个项目都是gnu的,gnu镜像中都提供下载,如果在官方网站下载比较慢,可以修改脚本中的下载地址为国内的镜像,另外需要注意修改版本号为具体项目中的新版本号,因为download_prerequisites脚本中默认些的那些是最低要求,而有些旧版本项目维护方都已经不提过下载了。6,配置gcc编译选项cd build../configure --prefix=/usr --enable-languages=c,c++ --disable-multilib不推荐加"--program-suffix=-4.8.1",然后通过配置连接的方式共存两个版本的gcc。7,编译安装make -j4make install编译之后的事
在CentOS下/usr/bin/gcc不同于Ubuntu,前者是一个可执行的二进制文件,后者是一个连接,连接到已经安装的gcc版本如gcc-4.6.3,这一点可以用个调用ls -l来证实。所以如果想要保留原来的gcc,就必须重命名它们,并且配置连接,这样操作比较复杂,而且4.4.7的版本不同于4.6,它已经很落后了,而且没有重大的调整,没有必要保留。更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14Linux升级GCC 4.8.1清晰简明教程(Ubuntu 12.04 64位版为例)VMware7.1.4 + CentOS 6.5 + QT5.2.1 for Android 开发环境配置相关资讯 gcc
- gcc: error trying to exec " (今 06:25)
- GCC 6.1带来新的C++17特性、完全支 (05月06日)
- Linux环境下使用GCC编译,GDB反汇 (03月30日)
| - 用GCC进行程序的编译 (06月14日)
- GNU编译器套件GCC 6.1发布 默认使 (04月28日)
- 让GCC支持成员函数模板的trick (03月10日)
|
本文评论 查看全部评论 (0)