CentOS编译安装GCC 4.9.2成功

在Linux上编译安装gcc是个寻烦恼的活,对于像我这样习惯于在Windows上面使用二进制安装包的人来说,自已编译安装gcc是个相当大的挑战,今天直接挑战最新版的gcc,是4.9.2版本的,做之前查阅了大量的资料,本次安装使用的系统是CentOS6.4,自带的gcc是4.4.7版本,具体折腾过成如下:

准备工作,

  到GNU官方FTP下载GCC的源码包gcc-4.9.2.tar.gz.

  下载下面三个依赖的安装包,这三个包的版本在gcc-4.9.2/contrib/download_prerequisites脚本文件中有指明,按这个里面指定的版本下载即可:

    ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

    http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

    http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

编译:

  首先是编译安装三个依赖库,按以下步骤编译安装:

    一:解压gmp-4.3.2.tar.bz2到自已指定的一个目录比如/home/[你的用户名]/gmp-4.3.2,另外在建一个/home/[你的用户名]/gmp-build目录,并进入这个目录,在终端里执行../gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2,--prefix表示后面将要安装到的目标位置,后面编译gcc时也要用到这个路径,执行完成之后在当前目录生成makefile文件,这时可以执行make(开始编译),接着执行make test(编译后安装前的测试,为了省时间,我一般没有执行这一步),最后执行make install(正式开始把编译好的文件安装到--prefix指定的位置).

    二:安装mpfr-2.4.2.tar.bz2,方法同上,不过执行configure的具体参数是这样的../mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2,它是要依赖前面的gmp.

    三:安装mpc-0.8.1.tar.gz方法同上,不过执行configure的具体参数是这样的../mpc-0.8.1/configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2

  上面三个依赖库安装好后,就可以开始编译安装gcc-4.9.2.tar.gz了:

    四:其实步骤同安装上面三个依赖库是一样的,还是执行configure的参数不同../gcc-4.9.2/configure --prefix=/usr/local/gcc-4.9.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1,这里的参数是把上面的三个依赖库加上去了,执行完成之后同样是生成makefile文件.

    五:执行make -j4  (-j4是表示启动四线程,可以充分发挥四核CPU的性能,网上有人用四核CPU开启4线程编译只花了半个小时,不过我的电脑配置差,只执行的make花了三个多小时间,呵呵).

    六:make test (我为了省时间,基本上省略这一步了)

    七:make install (开始安装)

    至此就算编译安装完成了.

  其实在上面执行第五步的时候,会遇到这样的错误:“configure: error: cannot compute suffix of object files: cannot compile”,网上调查得到的原因是找不到上面三个依赖的lib位置,所以要在执行第五步之前,先执行这样一条指令export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-4.3.2/lib:/usr/local/mpc-0.8.1/lib:/usr/local/mpfr-2.4.2/lib,这样就把三个依赖库就加入到了环境变量中,再编译的时候就不会报错了.

  装完后,查看一下版本

[[email protected] 桌面]$ g++49 -v
使用内建 specs。
COLLECT_GCC=g++49
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.2/libexec/gcc/i686-pc-linux-gnu/4.9.2/lto-wrapper
目标:i686-pc-linux-gnu
配置为:../gcc-4.9.2/configure --prefix=/usr/local/gcc-4.9.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
线程模型:posix
gcc 版本 4.9.2 (GCC)
[[email protected] 桌面]$ gcc49 -v
使用内建 specs。
COLLECT_GCC=gcc49
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.9.2/libexec/gcc/i686-pc-linux-gnu/4.9.2/lto-wrapper
目标:i686-pc-linux-gnu
配置为:../gcc-4.9.2/configure --prefix=/usr/local/gcc-4.9.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
线程模型:posix
gcc 版本 4.9.2 (GCC)
[[email protected] 桌面]$

时间: 2024-08-06 21:59:20

CentOS编译安装GCC 4.9.2成功的相关文章

转:在CentOS下编译安装GCC

转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术  秋水逸冰  发布于: 2015-09-02  更新于: 2015-09-02  6519 次围观  14 次吐槽 我们知道,关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升

CentOS 6.4中升级编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 以及Kdump配置

在CentOS 6.4中编译安装GCC 4.8.1 + GDB 7.6.1 + Eclipse 今天在isocpp上看到"GCC 4.8.1 released, C++11 feature complete"这个消息,非常兴奋.终于有一个全面支持C++11语言特性的编译器了! 当然了,gcc仅仅是语言特性上全面支持C++11,libstdc++貌似还没有完全跟上,不过我已经挺满足了,至少可以去尝试各种特性了.另外,之前也有消息说Clang功能上也100%支持C++11了,但是内部还在做

Centos 6.9 编译安装gcc 4.8.5

前言 GCC(GNU Compiler Collection,GNU编译器合集)是linux以及其他类UNIX平台上进行开源项目,软件开发等必不可少的工具链组成之一.(其他的还有clang以及llvm等编译器) 对于程序员以及系统管理员而言,经常需要从软件的源码进行手动编译安装, 不论是configure脚本,还是make工具,最终都需要调用gcc(或者其它编译器)来进行实际的编译工作. 另外,各种软件也经常需要使用gcc的新版特性,并且与旧版gcc共存,根据实际的需求进行调用. 实验环境:VM

在CentOS 6.4中编译安装gcc 4.8.1

在CentOS 6.4中编译安装gcc 4.8.1 分类: C/C++ Linux/Unix2013-11-28 21:02 1877人阅读 评论(0) 收藏 举报 原文链接:http://www.cnblogs.com/codemood/archive/2013/06/01/3113200.html 1. 安装gcc和g++ 新安装的CentOS缺少编译环境,必须先安装旧版本的gcc, 然后再进行自举编译 yum -y install gccyum -y install gcc-c++ 2.

CentOS编译安装NodeJS+Express

NodeJS是基于Chrome’s Javascript runtime,也就是Google V8引擎执行Javascript的快速构建网络服务及应用的平台,其优点有: 在CentOS编译安装NodeJS+Express相比在Windows下有点复杂,但只要有点Linux基础的人,就非常的简单了. 安装环境:CentOS 6.4 x86 minimal for 64位裸系统 安装软件:NodeJS v0.10.5,Express Web开发框架 安装准备:CentOS 6.4 minimal(最

centos 编译安装net-snmp 5.6.2

1.准备环境 yum -y install make gcc gcc-c++ gcc-g77 openssl openssl-devel 常用lib安装可参照本文 2.编译和安装 首先我们需要下载Net-SNMP的源代码, 官方地址: http://sourceforge.net/projects/net-snmp/files/net-snmp/ 下载net-snmp-5.6.2 下载地址:http://pan.baidu.com/s/1gd5TLT5 接下来对下载的源代码包进行解压缩, tar

CentOS6.8下编译安装GCC

关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2:CentOS 6 是 4.4.7:CentOS 7 是 4.8.3.很多时候在编译安装软件都需要高版本的 GCC,否则就会报错.那么如何升级 GCC 的版本呢? 首先要确认升级到的 GCC 版本号.目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5.GCC 官网:https://gcc.gnu.org 下面开始一步一步来编

[转]CentOS编译安装GIMP

CentOS编译安装GIMP 原文地址:http://www.ithao123.cn/content-97397.html gimp是扩平台的图像处理软件 因为最近要在linux上做几张图片决定安装它试试 直接yum install gimp貌似有问题 一启动就说什么有错误 还是决定走源码安装的不归路 因为源码编译的需要的包可能系统中会存在 但若直接替换可能会引起其它软件崩掉 configure时最好用--prefix=指定下安装路径 gimp的源码包可以在官网上下载 ./configure -

CentOS离线安装gcc,菜鸟总结(有图有真相)

第一步:先将系统盘iso镜像导入到虚拟机中,如图所示: 右击你的虚拟机>>可移动设备>>CD/DVD(IDE)>>设置(先断开连接) 做完上面的步骤,就会弹出下面的窗口,只需设置红色标记的选项之后,点击确定就可以了.(iso就是你安装的linux系统版本的镜像,它里面包含了大多数开发工具安装包) 镜像文件安装成功就会出现(有时候桌面上不会显示,无所谓) 然后就开始在系统终端输入命令行来进行安装(注意:在将光盘导入成功后,光盘的文件会默认挂载到media文件夹中),需要先