本文参考:http://blog.163.com/phys_atom/blog/static/1676445532012229814992/

如果直接使用GUN GCC官方的源码来安装是不成功的,因为源码需要编译,编译要使用GCC,进入死循环,

所以需要先安装GCC的RPM包,这文件在RHEL系统光盘里Packages下有(这里使用i386盘),由于gcc需要依赖其他库,所以需要先安装其他文件,

如果你的环境与这里的不一样,根据错误信息安装所依赖的库就行,安装确实是有点麻烦,

安装顺序为:

1.  rpm -ihv kernel-headers-2.6.32-279.el6.i686.rpm

2.  rpm -ihv glibc-headers-2.12-1.80.el6.i686.rpm

3.  rpm -ihv glibc-devel-2.12-1.80.el6.i686.rpm

4.  rpm -ihv mpfr-2.4.1-6.el6.i686.rpm

5.  rpm -ihv ppl-0.10.2-11.el6.i686.rpm

6.  rpm -ihv cpp-4.4.6-4.el6.i686.rpm

7.  rpm -ihv cloog-ppl-0.15.7-1.2.el6.i686.rpm

8.  rpm -ihv gcc-4.4.6-4.el6.i686.rpm

安装低版本的gcc后可以安装高版本,这里使用的是gcc-4.7.2.tar.gz,进入gcc路径后使用./configure -prefix /usr/local/gcc-4.7.2/

gcc需要GMP、MPFR、MPC三个库,由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。

一般会出现错误:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.  Source code for these libraries can be found at
their respective hosting sites as well as at
ftp://gcc.gnu.org/pub/gcc/infrastructure/.
说明gcc需要以来GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+

所以需要去gcc官方下载相应包:ftp://gcc.gnu.org/pub/gcc/infrastructure/

先安装GMP,其次MPFR,最后才是MPC

1.  tar jxvf gmp-4.3.2.tar.bz2

2.mkdir /usr/local/gmp-4.3.2

3.  ./configure --prefix=/usr/local/gmp-4.3.2/

4. make

5. make install

MPFR安装:

1 . tar jxvf mpfr-2.4.2.tar.bz2

2. mkdir /usr/local/mpfr-2.4.2

3. ./configure --prefix=/usr/local/mpfr-2.4.2/ --with-gmp=/usr/local/gmp-4.3.2/     ##这里需要加入gmp库路径

4.make

5.make install

MPC安装:

1.     tar zxvf mpc-0.8.1.tar.gz

2.     mkdir /usr/local/mpc-0.8.1

3.    ./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目录:

1.   ./configure --prefix=/usr/local/gcc-4.7.2/ -enable-threads=posix -disable-checking -disable-mutilib -enable-languages=c,c++,java --with-gmp=/usr/local/gmp-4.3.2/  --with-mpfr=/usr/local/mpfr-2.4.2/ --with-mpc=/usr/local/mpc-0.8.1/
2.  make后出现两个错误,解决办法:添加环境变量:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib
然后再执行make,的确你可以去做其他事情了,这个需要时间比较长

3.获取你会碰到错误gcc/lto-compress.c:28:18: fatal error: zlib.h: No such file or direct,那你得安装rpm -ivh zlib-devel-1.2.3-27.el6.i686.rpm

4. 现在可以make了  然后make install,如果不出意外,安装就能成功

转:RHEL6.3 安装GCC 记录的更多相关文章

  1. Linux(RHEL6.0)下安装GCC

    查看系统版本 [root@CP-RHEL proc]# cat /etc/issue Red Hat Enterprise Linux Server release 6.0 (Santiago) Ke ...

  2. RHEL6.5设置行号,安装GCC

    vim ~/.vimrc    set nu    set cindent    set tabstop=4    set shiftwidth=4    syntax on 安装gcc,g++编译器 ...

  3. SSDB安装配置记录

    SSDB的性能很突出,与Redis基本相当了,Redis是内存型,容量问题是弱项,并且内存成本太高,SSDB针对这个弱点,使用硬盘存储,使用Google高性能的存储引擎LevelDB,适合大数据量处理 ...

  4. 在RedHat上安装gcc,java 和 eclipse-rcp

    本文全是如何用rpm包在红帽子54上安装gcc,automake,java和eclipse等,不是源代码编译,请大家不要误会了. 其实通过rpm包安装东西很简单,麻烦的是有很多rpm是要根据顺序进行先 ...

  5. yum安装gcc

    如果服务器是自己的,并且机器就在身边,那什么都不用说了,缺少gcc顶多就是重新放入安装盘,把开发工具包安装上.但是如果是租的服务器,托管服务 方那帮人又搞不懂你说的啥子gcc,要安装gcc实在是太麻烦 ...

  6. 编译安装GCC 5.2.0

    https://blog.atime.me/note/install-gcc-5.2.0-from-source.html 记录编译GCC 5.2.0时遇到的问题和解决方法,以备日后查询. 平时使用的 ...

  7. FastDFS安装全过程记录(V5.05)

    FastDFS安装全过程记录 1.安装准备 HA虚拟IP:192.168.1.208 HA软件:Keepalived 操作系统:CentOS 7 用户:root 数据目录:/data/fastdfs ...

  8. CentOS 7下安装vertica记录

    CentOS 7下安装vertica记录 1.    安装好centeros 并更新 Centeros安装就不说了,安装完之后联网环境下 yum update.更新下,使得那些包都是新的.(要想用中文 ...

  9. windows上安装gcc/g++环境(MinGW,msys64等)

    1 前言 经过折腾安装gcc环境,记录一下 2 工具  MinGW安装器: 下载地址1:MinGW官网 下载地址2:SourceForge (MinGW w64) 下载地址3:win-builds-1 ...

随机推荐

  1. [转]最流行的android组件大全

      目录(?)[+] 目录(?)[-] 最流行的android组件大全 UI组件 类库 游戏引擎 Android HTML5应用 最流行的android组件大全 最新更新文档请访问我的网站 Andro ...

  2. Cocoapods报错Unable to satisfy the following requirements

    很多时候我们都会去gitHub上down别人的源码去研究,如果别人的项目用pod集成了,当我们下载好后不外乎cd到项目根目录pod install一下,集成项目所需的库类.今天在我pod instal ...

  3. mysql 绿色版安装

    1. 下载MySql5.6.10GA解压缩版,这就不多说也不上图了,下不到或者下好之后不知道如何解压的接下去的文章也没什么好多看的. 2. 解压好之后进入根目录是这样个情况(本人使用的是MySql5. ...

  4. List与ArrayList的区别

    http://www.cnblogs.com/aisiteru/articles/1151874.html List是一个接口,而ListArray是一个类. ListArray继承并实现了List. ...

  5. Python3的变化

    http://www.cnblogs.com/tips4python/archive/2011/05/31/2064290.html print 由一个语句(statement)变为一个函数 Pyth ...

  6. MySQL MERGE存储引擎 简介

    MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构.每一个成员数据表的数据列必 ...

  7. linux下启动tomcat出现“This file is needed to run this program ”

    使用sh startup.sh启动tomcat 出现This file is needed to run this program 原因.sh文件都不是可执行文件,于是找到命令: chmod +x * ...

  8. jsp:include 动作指令 与 include 指令

    include动作指令可以在JSP页面中动态包含一个文件,这与include指令不同,前者可以动态包含一个文件,文件的内容可以是静态的文件也可以是动态的脚本,而且当包含的动态文件被修改的时候JSP引擎 ...

  9. 提交svn的时候,提示丢失了预定增加的xxxx

    百度之,发现都是linux或者命令行下的解决方法, 经测试,右键svn目录 选择tortoisesvn 选择svn还原, 即可解决问题

  10. 怎样用git提交多次改动

    在提交完代码后,我们发现所改动的文件还有须要完好的地方,可是我们已经upload过了可是还未合入到库上,此时要提交新的改动有两种做法: 一是等上次的改动合入到库上后,再次upload提交一次,这明显是 ...