`
wang_2011_ying
  • 浏览: 149941 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

在RedHat AS4 下面安装gcc 4.3.2

阅读更多
开发需要提供一个RedHat4.6 GCC4.3.2的环境,下面说说我的安装过程吧:

由于,我们的集群中RedHat是EL5.5的,所以,还是在老的机器(RedHat AS4)上装吧,因此,我只需要安装一个GCC就好。

安装第一天:
使用RPM包安装,可是它需要的依赖包太多了,而且依赖包与版本又有很大关系。。折腾了一天,决定放弃。。

安装第二天:
1.在官网上下载一个gcc-4.3.2.tar.gz
tar -xzvf gcc-4.3.2.tar.gz

2.GCC的安装需要两个软件,分别是:gmp-4.2.1+和mpfr-2.3.0+
因此,我下载的是gmp-4.2.2.tar.bz2和mpfr-2.3.1.tar.gz以及mpfr的补丁文件patches
tar -xjf gmp-4.2.2.tar.bz2
tar -xzvf mpfr-2.3.1.tar.gz

由于mpfr依赖gmp,所以我们先来安装它。
注:由于我的redhat是64位的,所以采用以下命令,否则配置时提示:could not find libgmp or use a different ABI
cd gmp-4.2.2
./configure --prefix=/usr --host=x86_64-redhat-linux ABI=64 //指定gmp安装在/usr目录下,默认是安装在/usr/local下面,ABI=64代表是操作系统是64位的。如果ABI没有指定的话,在安装mpfr时会报错!
make
make check
make install
cd ..

修改/etc/profile文件,添加:
export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH
下面来安装mpfr
cd mpfr-2.3.1
patch -N -Z -p1 < ../patches
./configure --prefix=/usr --with-gmp-include=/usr/include --with-gmp-lib=/usr/lib
make
make check
make install
cd ..

其中,patches文件是我们从http://www.mpfr.org/mpfr-2.3.1/patches网站上下载的,注意,不能手动修改该文件,否则在运行patch文件时,会生成一个后缀为rej的文件,该现象说明打补丁出错!不同版本的mpfr对应的patches文件是不同的,可以自己去官网上下载对应版本的补丁文件。
在配置时,最好指出gmp的安装目录,否则会出现“undefined reference to '__gmp_get_memory_functions'”问题。如果不指出,系统默认找/usr/lib下的库文件和/usr/include下的头文件。如果gmp安装在/usr目录下,在配置时,以上两个参数可以不指定,如果安装在其他目录下,需要指定
3.安装GCC
cd gcc-4.3.2
./configure --prefix=/usr --with-mpfr=/usr --with-gmp=/usr --enable-languages=c,c++,java --enable-shared --enable-threads=posix --disable-checking  //最好不要指定主机信息,如果指定不对,会出错
make  //经过2个小时的编译,终于完成
make check
make install
cd ..

4.查看gcc版本,如下图:


第二次装gcc心得:

gcc需要gmp,mpfr,mpc这三个依赖包,依次安装这些工具的时候,记得要指定已经安装的包的库文件和头文件路径,(如,--with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib)。

安装过程中出现的问题如下:
1、在安装mpc时,需指定gmp和mpfr的库文件和头文件路径。在编译mpc时出现“libmpc.so : undefined reference to '_gmpn_sqr_n';libmpc.so : undefined reference to '_gmp_rand”问题。
解决方法:更换了更高版本的mpc,编译通过。不过具体这是什么问题造成的还不清楚,请过知道的童鞋告诉一下~
2、在安装gcc时也需要指定三个依赖包的安装路径。
在编译gcc的时候出现了:configure: error: cannot compute suffix of object files: cannot compile
解决方法:
将已经安装的三个依赖包的库文件的路径加入到lD_LIBRARY_PATH中。


按照以上方法编译gcc,很不幸,问题依然没有结束,在gcc编译1.5个小时的时候,出现了“找不到autogen命令”
于是乎,在安装autogen时,需要依赖guile,但是,guile又依赖6个包,包含:libgmp,libiconv,libintl,libltdl,libunistring,libffi
个人认为安装libffi比较麻烦,在配置方法:
./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
根据提示,还配置了几个环境变量,具体名字不记得了。
依赖包安装好了之后,开始安装guile,在安装guile时,总是出现“gcc:cannot specify -o with -c or -S with multuple files”这个问题。于是,更换了一个较低版本的guile,编译成功,接下来autogen工具也比较顺利!
回来继续编译gcc,希望这次能成功吧!待续。。。
  • 大小: 6.4 KB
分享到:
评论
2 楼 wang_2011_ying 2013-07-05  
laoyun_1 写道
哈哈,你终于又上线了。。。。现在在做android开发,还是做什么啊?

是啊,很久没有来了,之前一直忙着找工作。。。
目前,已经不再研究Android了,在做Linux下的开发与维护~
1 楼 laoyun_1 2013-07-05  
哈哈,你终于又上线了。。。。现在在做android开发,还是做什么啊?

相关推荐

    gmp+mpfr+mpc(redhat6.3).zip

    本篇文章将详细介绍在Redhat 6.3系统上安装GCC 4.3.2的过程,以及涉及到的GMP、MPFR和MPC这三部分组件的集成。 首先,GMP(GNU Multiple Precision Arithmetic Library)是用于高精度计算的库,它支持大整数和...

    Rehat5 安装 GCC

    本文将详细介绍如何在 Redhat 5 系统中安装 GCC 编译环境,并解决安装系统后没有预装 GCC 的问题。 #### 步骤一:准备安装环境 首先,确保你的 Redhat 5 系统已经正确安装并能够访问 Internet。如果使用的是光盘...

    GCC 11.2 离线安装包

    在安装GCC 11.2时,首先需要解压所有文件,然后按照以下顺序编译和安装依赖库: 1. GMP 2. MPFR 3. MPC 每个库的编译和安装步骤与GCC相似。完成后,再进行GCC 11.2的编译和安装。安装GCC时,可能需要配置特定的选项...

    centos7升级gcc4.9所需要的离线安装包

    本文将详细介绍如何在CentOS 7系统中离线安装GCC 4.9.4,所需的关键组件包括:gmp、mpfr、mpc以及cloog和isl。 首先,让我们了解这些依赖项的作用: 1. **gmp (GNU Multiple Precision Arithmetic Library)**:这...

    libgomp-4.3.2-7.el5.i386.rpm(适用于redhat 5.3 64位)

    libgomp-4.3.2-7.el5.i386.rpm(适用于redhat 5.3 64位)亲测可用,主要是有利于安装系统后,不记得勾选develope选项的朋友简单安装gcc/g++。..

    CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)

    4. **编译并安装GCC**: ```bash [root@uatjenkins01 gcc-6.4.0]# make && make install ``` #### 后续操作 完成上述步骤后,新的GCC版本已经安装到了系统中。但是,需要注意的是,此时系统默认的GCC仍然是旧...

    redhat5下安装oracle10g(详细)

    在进行 Oracle 10g 的安装之前,确保 Red Hat 5 操作系统的环境已经符合 Oracle 的要求是非常重要的。 ##### 内存与交换空间设置 - **内存要求**:系统至少需要 512MB 的物理内存。 - **交换空间要求**:根据描述中...

    pg11.7+pgpool4.3.2 for Centos7安装包及依赖包

    下面将详细介绍这两个组件以及它们在Linux系统中的安装过程。 **PostgreSQL 11.7** PostgreSQL 11.7是PostgreSQL数据库的一个稳定版本,它提供了许多改进和新特性。这些包括性能提升、更好的并发性、新的SQL功能...

    如何在red_hat_Enterprise_5安装oracle11g

    ### 如何在 Red Hat Enterprise 5 安装 Oracle 11g #### 一、准备工作:安装必要的 RPM 包 为了确保 Oracle 11g 能够顺利地在 Red Hat Enterprise 5 上运行,首先需要安装一系列的 RPM 包。这些 RPM 包包括兼容性...

    Linux 下 装 Oracle 10g R2 _3(包含作者电话,不会可教)

    在安装Oracle 10g R2 之前, 需要创建特定的用户和组, 并设置相应的权限。 - 创建必要的组: ```bash groupadd oinstall groupadd dba groupadd oper ``` - 创建Oracle用户并设置初始密码: ```bash useradd -...

    基于linux-ARM的QT环境搭建.docx

    1. 在PC上使用交叉编译器(如arm-linux-gcc-4.3.2或arm-linux-gcc-4.1.2)编译代码,以适应ARM板的架构。 2. 获取QT源码,例如qt-embedded-linux-opensource-src-4.5.3.tar.gz,这包含了能在ARM板上运行的应用程序所...

    madplay音乐播放器移植手册

    首先,手册提到了移植过程中使用的版本信息,包括madplay播放器版本为0.15.2,交叉编译器为arm-linux-gcc4.3.2。这些信息对于开发者来说至关重要,因为不同的版本可能会存在不兼容的问题,尤其是当目标平台和开发...

    minigui移植总结

    对于编译工具,使用的是arm-linux-gcc4.3.2。根文件系统路径设置为`/opt/FriendARM/mini2410/root_qtopia`。在进行移植前,确保已按照指定文档(如mini2440-um-20090817.pdf)完成环境搭建。 2. **下载所需包** ...

    移植sqlite3.7.9到友善之臂mini2440

    1. **准备开发环境**:本文档提到的开发环境为Redhat或Fedora系统,内核版本分别为2.4.20和2.6.23,交叉编译工具链为arm-linux-gcc 4.3.2。选择适合自己系统的开发环境,并确保交叉编译工具链正确安装。 2. **下载...

    mini2440 QT环境搭建的详细资料

    4. **编译与安装QT**:运行`make`命令进行编译,编译成功后使用`make install`进行安装。需要注意的是,这一步骤可能会比较耗时,具体时间取决于开发者的计算机性能。 5. **测试QT环境**:安装完成后,可以通过简单...

    oracle11在linux安装文档

    ### Oracle 11g R2 在 Linux 环境下的安装步骤及注意事项 #### 标题解析 - **Oracle 11g R2**:Oracle Database 11g Release 2(11.2),是Oracle公司推出的一款企业级数据库管理系统。 - **Linux**:一种开源的...

    基于嵌入式智能家居远程控制器设计答辩PPT.ppt

    本文研究了基于 Linux 嵌入式操作系统,以使用 ARM2440 为 CPU 的 ARM9 嵌入式开发板为硬件基础,以 LINUX REDHAT 5 为系统开发环境,以 arm-linux-gcc 4.3.2 为交叉编译环境,以 Friendly ARM Mini2440 Development...

Global site tag (gtag.js) - Google Analytics