从GCC官网下载最新版本的GCC4.6.2

http://gcc.gnu.org/

国内镜像地址:

http://mirrors.ustc.edu.cn/gnu/gcc/

首先在配置gcc的过程中会出现错误:

# ./configure --prefix=/usr/local/gcc-4.6.2

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

说明要安装gcc需要GMP、MPFR、MPC这三个库

官网下载地址:

http://gmplib.org/

http://www.mpfr.org/

http://www.multiprecision.org/index.php?prog=mpc

由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp-5.0.3,mpfr-3.1.0和mpc-0.9。

依次解压这3个压缩包

安装gmp-5.0.3

# cd gmp-5.0.3

# ./configure --prefix=/usr/local/gmp-5.0.3

# make && make install && make clean

安装mpfr-3.1.0

# cd mpfr-3.1.0

# ./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.3

# make && make install && make clean

安装mpc-0.9

#cd mpc-0.9

# ./configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.3 --with-mpfr=/usr/local/mpfr-3.1.0

# make && make install && make clean

安装好这三个库之后,就可以正式开始安装gcc了。

进入gcc源码目录

gcc的配置选项有很多,具体可以参考gcc源文件目录下的安装说明。这里只安装了c和c++的编译器。(如果不指定编译的语言,则会在make时不通过,爆出某些文件找不到等错误,所以还是建议在此指定编译语言为c,c++)然后开始make编译。为保险起见,需要在环境变量LD_LIBRARY_PATH添加前面三个库的位置,键入以下命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.3/lib:/usr/local/mpfr-3.1.0/lib

然后重新make编译,在经过漫长的1小时等待后,终于编译完成。

# ./configure --prefix=/usr/local/gcc-4.6.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.3 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-0.9

# make && make install && make clean

至此gcc就全部安装完成了。

不过目前还不能使用新版本的gcc,因为新版的可执行文件还没加到命令的搜索路径中。在这里我为新版的gcc和g++命令分别建立了一个软链接。进入/usr/bin目录后,键入如下命令建立软链接。

sudo ln -s /usr/local/gcc-4.6.2/bin/gcc gcc462

sudo ln -s /usr/local/gcc-4.6.2/bin/g++ g++462

这样我使用新版本gcc的时候就可以用gcc462和g++462命令,同时也可使用原来的gcc编译程序。当然这里也可以直接将/usr/bin目录下gcc,g++命令重新链接到新版本的gcc可执行文件。在正式使用之前还有最后一个工作要做,就是将前面安装的GCC-4.6.2库的路径加进环境变量LD_LIBRARY_PATH中,不然在编译程序的时候会出错。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc-4.6.2/lib

由于export方式在重启后失效,所以需要编辑/etc目录下的bashrc文件配置shell环境。

在这个文件中添加以下语句:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.3/lib:/usr/local/mpfr-3.1.0/lib:/usr/local/gcc-4.6.2/lib

export LD_LIBRARY_PATH

以上方法不佳,可以使用下面的方法:

vi /etc/ld.so.conf

添加

/usr/local/mpc-0.9/lib

/usr/local/gmp-5.0.3/lib

/usr/local/mpfr-3.1.0/lib

/usr/local/gcc-4.6.2/lib

保存退出然后执行ldconfig使更改生效

另外使用gcc-4.6.2还有如下方法:

备份原始的gcc 和 g++

# cp /usr/bin/gcc /usr/bin/gcc.bak

# cp /usr/bin/g++ /usr/bin/g++.bak

建立软链接

# cd /usr/bin

# ln -s /usr/local/gcc-4.6.2/bin/gcc gcc

# ln -s /usr/local/gcc-4.6.2/bin/g++ g++

使用后还原即可

出错处理:

make过程中报错

checking for suffix of object files... configure: error: in `/data/src/gcc/gcc-4.6.2/x86_64-unknown-linux-gnu/libgcc':

configure: error: cannot compute suffix of object files: cannot compile

See `config.log' for more details.

make[2]: *** [configure-stage1-target-libgcc] Error 1

make[2]: Leaving directory `/data/src/gcc/gcc-4.6.2'

make[1]: *** [stage1-bubble] Error 2

make[1]: Leaving directory `/data/src/gcc/gcc-4.6.2'

make: *** [all] Error 2

原因修改ld.so.conf后未执行ldconfig 新加的库未起效

转载于:https://blog.51cto.com/lan9203/1352534

CentOS 5.5 手动安装 GCC4.6.2相关推荐

  1. CentOS 6/7手动安装和魔改教程

    安装BBR 1.安装BBR内核 #CentOS 6系统 #导入ELRepo公钥 wget https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm --imp ...

  2. CentOS 6.4 编译安装 gcc-4.8.0

    1.首先下载源代码 wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2 2.解压 tar -jxvf gcc-4.8.0.tar.b ...

  3. CentOS 6.X手动安装最新版ffmpeg和mencoder

    一.准备所要用的包.放到centos的桌面 ①ffmpeg-3.1.tar.gz 下载地址:https://ffmpeg.org/download.html#releases ②lame-3.99.5 ...

  4. centos 重装php_Centos手动安装PHP

    下载PHP的源码,我下的是7.2版本,看了一下安装的参数太多了,也没有时间依次了解每个参数的意思,直接从网上复制了一个,先尝试安装起来.并记录一下步骤,基本的步骤就是解压.配置.编译.运行. 1.下载 ...

  5. CENTOS手动安装修复python ,YUM CENTOS手动安装修复YUM

    CENTOS手动安装修复YUM 2019年3月8日  杨宇 Comments 0 Comment 目录 [hide] 一.问题场景 二.手动修复 2.1 下载 rpm 包 2.2 安装 rpm 包 2 ...

  6. CentOS离线安装gcc4.8.2 + 并安装网卡驱动

    首先,在CentOS下安装gcc4.8.2需要先安装GMP,MPFR 和 MPC 三个包. 安装包下载地址 从http://gcc.gnu.org/下载gcc安装包 gcc-4.8.2.tar.gz ...

  7. Redhat或者Centos 手动安装sublime text 3

    Sublime Text是一款十分出色的代码编辑器,友好的界面.炫酷的主题配色以及自动索引函数等功能让每一个程序员爱不释手.Linux下在线安装sublime很简单,本文不再赘述.我们的服务器放在机房 ...

  8. python详细安装教程linux-Linux手动安装新版本Python教程(CentOS)

    一.说明 1.1 linux为什么不升级python版本 2008年python3就发布了,到2020年1月1日python2.7就停止更新了,为什么主流的linux迟迟不去除python2自带pyt ...

  9. Centos 5 手动安装yum

    遇到2个问题 提示No module named yum ##因为yum版本不兼容需要重新安装 /usr/lib/python2.4/site-packages/_sqlitecache.so: wr ...

最新文章

  1. kubernetes ConfigMap
  2. 上海中考-哪些区是“地狱模式”?——2019上海中考数据观
  3. JoSE:球面上的词向量和句向量
  4. C4C Product Price List的模型中和有效期相关的两个字段
  5. JDK8 lambda的会话指南–术语表
  6. JVM:如何分析线程转储
  7. wps可以登录网页版_教程丨WPS会员半自动打卡
  8. Java对象与JSON数据的相互转换
  9. Android仿微信地图定位和位置选择(上)
  10. C++中智能指针-atuo_ptr、unique_ptr
  11. vue中使用 minix 混入
  12. Navicat Premium 12安装激活教程_不需要激活工具直接激活
  13. 使用C++定义QML类型qrc:/main.qml:5:1: module “io.qt.examples.BackEnd“ is not installed
  14. 调用高德导航,百度导航,腾讯地图
  15. php输出扶墙而立的三角形,第10章 天天扶墙而立
  16. Linux文件属主和属组 概念
  17. 7. 用JDK5.0的JConsole来连接MBean
  18. Java的正确使用方式
  19. 倚天鸿蒙系统,倚天记征服篇三职业暗黑微变传奇服务端_技能宠物_铭文洗练【GEE引擎】...
  20. 天猫精灵智能设备对接(8) 开发者网关地址

热门文章

  1. 【C++】 64_C++中的异常处理 (上)
  2. 分布式锁实现:Redis
  3. T-SQL中default值的使用
  4. initBuilder注解接收多个对象
  5. Axure7.0 以及 中文汉化语言包下载 axure汉化包
  6. c++builder Delphi 直接使用剪贴板 Clipboard
  7. 10款屏幕取色器/颜色拾取工具软件介绍及下载地址[转]
  8. 完全平方数的判定及整数平方根的快速求解
  9. linux yum 本地源配置
  10. 俄通信监管机构回应封锁微信: 收到资料核验后将解除封锁