RHEL5.4 x86_64 GCC 4.1.2 升级到4.7.0版过程

(含安装MPFR、GMP、MPC过程)

redhat 库先安装到某个路径不替换原有库还是提示checking for the correct version of the gmp/mpfr/mpc libraries... no

./configure --prefix=/usr/local/gcc4.8.2 --enable-threads=posix --disable-checking --disable-multilib  --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9

估计是没有写include造成的,下面是直接替换原有库进行安装,红色部分跳过。

GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。它是一套以 GPL 及 LGPL 许可证所发行的自由软件,也是 GNU计划 的关键部分, GCC(特别是其中的C语言编译器)也常被认为是跨平台编译器的事实标准。GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理 C语言。GCC 很快地扩展,变得可处理 C++。之后也变得可处理 Fortran、Pascal、Objective-C、Java, 以及 Ada 与其他语言。

GCC 首个公开发布版本是在 1987 年由 Richard Stallman 发布的,到今天已经整整 25 年了。为了庆祝 25 周年,GCC 也相应发布了 GCC 4.7.0 版本,这是 GCC 一个全新的重要版本。可以在GCC的官方网站http://gcc.gnu.org/ 下载到各个版本。

可惜的是RHEL5.4 x86_64系统自带的GCC版本是4.1.2版本(20080704发布), 已经远不能满足软件开发或使用的进度,因此需要升级至较新版本,本文以GCC4.7.0为例,介绍GCC升级的一般方法。

一、在安装前,需要先安装 MPFR 、GMP 和MPC

GCC编译需要mpfr和mpc(-->gmp、-->mpfr)库的支持,依次安装这几个库,其中mpfr可直接安装,安装mpc依赖mpfr和gmp库(对版本有要求,建议安装最新版本),然后configure时指定mpfr和gmp的include、lib路径。

下载 MPFR (mpfr-2.3.0), MPFR_patch、GMP (gmp-4.3.2) 和MPC(mpc-0.8.1),

安装过程是先安装 gmp,然后再安装 mpfr.和mpc

1、  安装gmp

注:安装均在root权限下进行:

[phamlab@Server ~]$ su –

Password:

[root@Server ~]# cd /home/phamlab/software/gcc_install/

[root@Server gcc_install]# ls

[root@Server gcc_install]# tar jxvf gmp-4.3.2.tar.bz2

[root@Server gcc_install]# cd gmp-4.3.2

[root@Server gmp-4.3.2]# ./configure

[root@Server gmp-4.3.2]# make

[root@Server gmp-4.3.2]# make check

这一步是必要的,用来查看有没有文件不匹配或缺失,在最后提示,到时注意看有没有 Error 之类的提示,如果没有则说明安装正常.

[root@Server gmp-4.3.2]# make install

安装编译后的软件,完成了安装过程

有必要说明程序的头文件(.h)和库文件(lib*)的位置, 本次安装会安装在  /usr/local/include 和/usr/local/lib   这个对后面安装 mpfr 很有作用.

2、  安装 mpfr

[root@Server gmp-4.3.2] cd ..

[root@Server gcc_install]# tar jxvf mpfr-2.4.2.tar.bz2

[root@Server gcc_install]# cd mpfr-2.4.2

[root@Server mpfr-2.4.2]# ./configure  --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib

[root@Server mpfr-2.4.2]# make

[root@Server mpfr-2.4.2]# make check

如果出现如下信息

====================

All 156 tests passed

====================

make[2]: Leaving directory `/ tmp/mpfr-2.4.2/tests'

make[1]: Leaving directory `/ tmp/mpfr-2.4.2/tests'

make[1]: Entering directory `/tmp/mpfr-2.4.2'

make[1]: Nothing to be done for `check-am'.

make[1]: Leaving directory `/ tmp/mpfr-2.4.2

说明编译成功了.

接下来安装

[root@Server mpfr-2.4.2]# make install

3、  安装 MPC

[root@Server mpfr-2.4.2] cd ..

[root@Server gcc_install]# tar zxvf mpc-0.8.1.tar.gz

[root@Server gcc_install]# cd mpc-0.8.1

[root@Server mpc-0.8.1]# vi ./src/acos.c +192

注释掉第192行(# :rnd_im == GMP_RNDA ? GMP_RNDZ)即在该行前面加“#”

[root@Server mpc-0.8.1]# ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib --with-mpfr-include=/usr/local/include    --with-mpfr-lib=/usr/local/lib

[root@Server mpc-0.8.1]# make

[root@Server mpc-0.8.1]# make check (这个时候可能会有错误,但是这个没有关系,可以跳过!)

[root@Server mpc-0.8.1]# make install

二、安装gcc 4.7.0

1、配置gmp和mpfr的库文件路径, 在.bash_profile(一般在/root 目录下)配置 LD_LIBRARY_PATH,把 GMP 与 MPFR对应的 lib 配置上.

[root@Server mpc-0.8.1]# cd

[root@Server ~]# vi .bash_profile

export C_INCLUDE_PATH=/usr/local/include:$C_INCLUDE_PATH

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

wq保存退出。

重启terminal生效或者使用  source   /root/.bash_profile

[root@Server ~]# source .bash_profile

2、安装gcc

[root@Server ~]# cd /home/phamlab/software/gcc_install/

[root@Server gcc_install]# tar zxvf gcc-4.7.0.tar.gz

[root@Server gcc_install]# cd gcc-4.7.0

[root@Server gcc_install]# mkdir gcc_temp

[root@Server gcc_install]# cd gcc_temp

[root@Server gcc_temp]# ../configure --prefix=/usr   --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local

[root@Server gcc_temp]# make

[root@Server gcc_temp]# make install

[root@Server gcc_temp]# gcc –v

gcc version 4.7.0 (GCC)

备注:

1、  MPFR: 一个多精度高效的浮点计算C语言库, 基于GMP .-The MPFR library is a C library for multiple-precision floating-point computations with correct rounding. MPFR has continuously been supported by the INRIA and the current main authors come from the CACAO and Arénaire project-teams at Loria (Nancy, France) and LIP (Lyon, France) respectively see more on the credit page. MPFR is based on the GMP multiple-precision library.

2、  GMP:计算任意精度的数学库, 包括支持整数,有理数和浮点. GMP包括大量的接口函数.-GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface.

3、  MPC:gnu交叉编译器配置时需要的-gnu cross-compiler configuration needed

RHEL5.4 x86_64 GCC 4.1.2 升级到4.7.0版过程(含安装MPFR、GMP、MPC过程)相关推荐

  1. 今天将IE升级到了7.0版

    界面简洁了些,也像火狐等浏览器一样,点击新选项卡就可以方便地打开新网页了!       试用ING!!          下载(for windows 2003) 转载于:https://www.cn ...

  2. Linux 环境下安装 gcc 详细过程 以及安装 glibc

    1.了解一下 gcc 目前,GCC可以用来编译C / C++.FORTRAN.Java.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言. 在安装之前,系统必须有 cc 或者 gcc 的编译 ...

  3. Facebook升级到MySQL 8.0付出的代价

    近日,Facebook 官博公布了他们的数据库版本从 MySQL 5.6 升级到了 MySQL 8.0,并且在官博记录了复盘详细的升级过程. Facebook 称,他们最近的一次大版本升级到 MySQ ...

  4. 从 MySQL 5.6 升级到 MySQL 8.0,Facebook 付出了什么代价?

    [编者按]近日,Facebook 官博公布了他们的数据库版本从 MySQL 5.6 升级到了 MySQL 8.0,并且在官博记录了复盘详细的升级过程. 作者 | Herman Lee,Pradeep ...

  5. WestFighting / 西途决斗 升级 - v1.1.0 版

    WestFighting / 西途决斗 升级 这次在原来的基础上升级到v1.1.0版,修正或正加了一些功能如下: 1, 修正上下牛仔走动时脚没有动作的情况: 2, 不支持游戏的浏览器提示修改; 3, ...

  6. glibc 2.17升级2.28,gcc 4.8.5升级9.2.0,GNU Make 3.82 升级到4.2.1,安装bison

    大家好,我是后来,我会分享我在学习和工作中遇到的点滴,希望有机会我的某篇文章能够对你有所帮助,所有的文章都会在公众号首发,欢迎大家关注我的公众号" 后来X大数据 ",感谢你的支持与 ...

  7. gcc升级到 6.3.0版本

    GCC依赖于gmp 4.2+, mpfr 2.4+和mpc 0.8+,直接下载安装最新的版本. 安装gmp 6.1.2 wget https://gmplib.org/download/gmp/gmp ...

  8. Rhel6.0升级内核到3.0.4

    RHEL6.0升级内核为3.0.4 1.查看一下我的系统为rhel6.0,内核版本为2.6.32: [root@server3~]#cat /etc/issue [root@server3~]#una ...

  9. oracle 之 安装10.2.0.1 且 升级到 10.2.0.4

    一. centos 6.5 安装 oracle 10.2.0.1 1.安装操作系统,选择桌面环境 2.配置本地yum源 , 可参考 http://blog.csdn.net/zhang12345645 ...

最新文章

  1. Java:形式参数问题和返回值问题
  2. CodeForces - 1321D Navigation S.ystem(最短路+思维)
  3. centos7 qt之程序编译 cant start process “cmake”
  4. HTML5应用程序网站视差模板下载
  5. react 遍历对象_React 和 Vue 之间的相爱相杀
  6. 一张图读懂nginx多线程高并发
  7. syscall 系统调用陷入_系统调用深度剖析(上)
  8. memcached演练(2) 访问memcached服务
  9. 事半功倍,在JCreator中查询java API
  10. 十大气势背景音乐(适合战队,广告招商会场用)
  11. UT000020: Connection terminated as request was larger than 10485760
  12. thinkpad Fn键设置
  13. 2022-2027年中国环锻件行业市场全景评估及发展战略规划报告
  14. Windows系统申请苹果证书
  15. [bzoj4134]ljw和lzr的hack比赛
  16. 什么是 Sidecar
  17. 金蝶云星空总账-基础设置
  18. 熊猫压缩怎么使用_从命令行开始使用熊猫
  19. 深度学习-Pytorch:项目标准流程【构建、保存、加载神经网络模型;数据集构建器Dataset、数据加载器DataLoader(线性回归案例、手写数字识别案例)】
  20. 生成式模型与辨别式模型

热门文章

  1. C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo)
  2. Nginx中conf相关配置的简要说明
  3. Resumable.js - 基于HTML5 File API的可断点续传的文件上传插件
  4. 构建第一个Spring Boot2.0应用之项目创建(一)
  5. dotnetNuke module development steps, dnn 模块开发步骤
  6. 折叠list ExpandableList+ BaseExpandableListAdapter 自定义 折叠列表
  7. Telnet发邮件过程
  8. 如何找到 AWS 环境下应用程序中易于得手的漏洞?
  9. NAME:WRECK 漏洞影响近亿台物联网设备
  10. 我一口气发现7个Safari 0day,苹果奖了7.5万美元