Chinaunix首页 | 论坛 | 博客
  • 博客访问: 434110
  • 博文数量: 62
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 740
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-10 21:59
个人简介

付出,终有回报!

文章分类

全部博文(62)

文章存档

2018年(6)

2017年(24)

2016年(6)

2015年(26)

分类: LINUX

2016-03-29 19:18:05

在安装之前,我也尝试了看官方的安装手册,不过看英语真的好慢好累啊。网上关于安装最新版的gcc-5.3.0的资料又比较少,虽然这篇文章已经讲的很清楚了,但自己在安装时,还是会出现一大堆的问题。折腾了许久,终于搞定了,现在就和大家分享下吧,希望能有帮助。

【系统环境】:RHEL6.5
                            系统中已安装有gcc-4.4.7

【准备工作】
gcc安装包
gcc5.3.0的源代码压缩包,这个可以直接去GCC的FTP站上下载。

【安装流程】
1、将gcc安装包放于/mnt下,并解压
# tar -jxf gcc-5.3.0.tar.bz2

2、下载依赖包
gmp、mpfr、mpc,这几个包不用去其他网站下载,在gcc的源码包中就有快捷下载解压配置。
进入解压的文件中
# cd /mnt/gcc-5.3.0
# ./contrib/download_prerequisites      在联网状态执行此命令,即可进行三个依赖包的下载,如下图:



3、检查依赖包
下载完成后,就会发现源码包中多了gmp、mpfr、mpc这几个压缩包及解压后的文件,如下图:





4、创建安装目录
我将gcc及它的依赖包都安装在/usr/local目录下。
# mkdir /usr/local/gmp-4.3.2  /usr/local/mpfr-2.4.2  /usr/local/mpc-0.8.1 /usr/local/gcc-5.3.0

5、安装依赖包
那三个包不能随意安装,实际上,他们是按照gmp-->mpfr--->mpc-->gcc的顺序
(1)安装gmp-4.3.2
# cd /mnt/gcc-5.3.0/gmp-4.3.2
# ./configure --prefix=/usr/local/gmp-4.3.2
# make
# make install
(2)安装mpfr-2.4.2
# cd /mnt/gcc-5.3.0/mpfr-2.4.2
# ./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
# make
# make install
(3)安装mpc-0.8.1
# cd /mnt/gcc-5.3.0/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
# make
# make install

6、编译安装gcc
# cd /mnt/gcc-5.3.0
# ./configure  --prefix=/usr/local/gcc-5.3.0 --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
# make

此时,会出现如下等的错误:
/usr/local/gcc-5.3.0/./prev-gcc/cc1plus: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory
make[3]: *** [real.o] Error 1
make[3]: Leaving directory `/usr/local/gcc-5.3.0/gcc'
make[2]: *** [all-stage3-gcc] Error 2
make[2]: Leaving directory `/usr/local/gcc-5.3.0'
make[1]: *** [stage3-bubble] Error 2
make[1]: Leaving directory `/usr/local/gcc-5.3.0'
make: *** [all] Error 2
这类错误大都是由于库没找到

# vim /etc/bashrc
在文件的末尾指明库的位置
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
# source /etc/bashrc

# make
编译时间估计半小时左右,在此期间,CPU基本满负荷了,尽量不要再做其他的操作,免得要重新编译。

# make install

7、将新版本的gcc加入命令搜索路径
系统的所有命令默认在/usr/bin下, 我的系统还有其他版本的gcc, 所以我就将gcc,g++重命名了
#  ln -s /usr/local/gcc-5.3.0/bin/g++  /usr/bin/myg++
# ln -s /usr/local/gcc-5.3.0/bin/gcc /usr/bin/mygcc

8、版本检查
# mygcc --version
mygcc (GCC) 5.3.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

好了,至此就完成了gcc-5.3.0的安装

阅读(3332) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~