CentOS 6.* 64位系统升级gcc4.4.7升级gcc5.1详解

出于项目需求系统自带的是gcc4.4.7,版本太低无法编译,下面记录了升级gcc漫长之路。

基本环境配置

#系统
# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

#gcc 版本
# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright (C) 2010 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,请使用yum安装基本gcc,来编译高版本gcc
##安装gcc、c++编译器以及C和C++的静态库,常用软件
yum -y install gcc gcc-c++ glibc-static libstdc++-static zip;

安装高版本gcc5.1

由于使用yum安装的gcc并非当前的最新版本,目前gcc的最新版本为5.1.0(gcc 4.8开始全面支持C 11和C++ 11的新特性)。如果我们想要安装最新版本的gcc,yum获取不到,那么就只能需要自行想办法安装高版本gcc了。

下载gcc安装文件

你可以去gcc官方镜像列表去寻找距离你最近的镜像,也可以直接去gcc官网提供的ftp下载中心去下载。
但是如果你想快速下载到gcc,还是直接到国内 中科大开源镜像下载!

安装gcc

#下载解压gcc安装文件
[root@localhost src]# wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.bz2;
[root@localhost src]# tar jxf gcc-5.1.0.tar.bz2 -C /usr/local/src;
#转到gcc源程序根目录
[root@localhost src]# cd /usr/local/src/gcc-5.1.0;
#下载一些必备的依赖程序
#安装gcc需要下载诸如gmp、mpfr、mpc等依赖文件,执行download_prerequisites将会自动下载这些软件并解压到当前目录
[root@localhost gcc-5.1.0]# ./contrib/download_prerequisites;

注意:本教程并没有对gmp、mpfr、mpc等软件分别进行解压和编译,而是直接由download_prerequisites负责下 载并解压,最后和gcc一起进行编译安装,gmp、mpfr、mpc必须解压到gcc-5.1.0目录下,最后和gcc一起进行编译安装。如果gmp、mpfr、mpc解压到其他文件夹,在编译过程中会找不到gmp、mpfr、mpc

安装GCC 5.1.0

[root@localhost contrib]# cd ../;
[root@localhost gcc-5.1.0]# ./configure --prefix=/usr/local/gcc-5.1.0 --disable-multilib --enable-languages=c,c++,java
#充分发挥CPU四核优势,启动四线程(j后面表示当前核心数)
[root@localhost gcc-5.1.0]# make -j4
#编译gcc源程序,需要消耗比较长的时间
[root@localhost gcc-5.1.0]# make
#安装gcc
[root@localhost gcc-5.1.0]# make install

其中执行make命令这一过程耗费的时间可能非常多,笔者这里耗费了120多分钟才编译完成。执行完上述命令后,我们的gcc就已经安装成功了。

附属安装

如果在安装gcc过程中,没有通过download_prerequisites下载依赖文件,安装gcc提示gmp等依赖找不到,可以单独下载编译安装gmp、mpfr、mpc依赖库,,

####  编译安装gmp  ####
[root@localhost contrib]# tar -vxf gmp-4.3.2.tar.bz2
[root@localhost contrib]# cd gmp-4.3.2
[root@localhost contrib]# ./configure --prefix=/usr/local/gmp-4.3.2
[root@localhost contrib]# make && make install

####  编译安装mpfr  ####
[root@localhost contrib]# tar -vxf mpfr-2.4.2.tar.bz2
[root@localhost contrib]# cd mpfr-2.4.2
[root@localhost contrib]# ./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
[root@localhost contrib]# make && make install

####  编译安装mpc  #####
[root@localhost contrib]# tar -zvxf mpc-0.8.1.tar.gz
[root@localhost contrib]# cd mpc-0.8.1
[root@localhost contrib]# ./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
[root@localhost contrib]# make && make install

####  加入到环境变量  ####
[root@localhost contrib]# vi /etc/profile
####在文件末尾添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib
[root@localhost contrib]# source /etc/profile

[root@localhost contrib]# cd ../;
[root@localhost gcc-5.1.0]# ./configure --prefix=/usr/local/gcc-5.1.0 --with-gmp=/usr/local/gmp-4.3.2/ --with-mpfr=/usr/local/mpfr-2.4.2/ --with-mpc=/usr/local/mpc-0.8.1/ --disable-multilib --enable-languages=c,c++,java
#充分发挥CPU四核优势,启动四线程(j后面表示当前核心数)
[root@localhost gcc-5.1.0]# make -j4
#编译gcc源程序,需要消耗比较长的时间
[root@localhost gcc-5.1.0]# make && make install
相关文章
  1. * 暂无相关文章
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in gcc, linux技术 and tagged as
Comments are closed.