目录:

、下载源码包

、安装以前版本的GCC编译器

、文件传输

、熟悉解压命令

、安装流程

、开始安装

、安装必备包之GMP,MPFR,MPC的安装

、继续安装

 
 

 
 

【1、下载源码包】

 
 

首先安装GCC需要下载源文件安装包,这里我是在官网上下的(应该是官网):

ftp://ftp.gnu.org/gnu/gcc/gcc-5.3.0/

 
 

【2、安装以前版本的GCC编译器】

 
 

想了一晚上和一早上怎么在没有编译器的情况下,结果还是没有头绪

这尼玛就是一个先有蛋还是先有鸡的问题啊,我就是没有编译器,才想装一个编译器,结果源码安装编译器之前,必须先要有一个编译器。我的尴尬症和强迫症又犯了。

不想了,先尼玛yum再说:

yum install gcc

yum install gcc-c++

卧槽,轻松加愉快~,只是想到我的系统不纯洁了,想哭

 
 

【3、文件传输】

 
 

由于我是用的Xshell登陆的CentOS,在Linux下下文件没有迅雷实属不爽,故而转向Windows,先把文件下下来再说。涉及到如何在Xshell上将Windows上的源文件传输到Linux。

这里两个系统相互传文件,有两个很好用的命令,即sz和rz

sz是Linux相Windows传输文件

rz是Windows向Linux传输文件

这里在用这两个文件之前我们需要安装一个软件叫lrzsz,yum上有,直接装就可以了

yum install lrzsz

装好之后,输入命令:rz

然后弹出一个文件选择框,让你选择从Windows上传输到Linux上的文件,你在哪个目录下用rz,文件便会传输到哪个目录下。

 
 

【4、熟悉解压命令】

 
 

其中gcc-5.3.0.tar.bz2和gcc-5.3.0.tar.gz都是安装包的压缩文件,只是压缩方式不一样,解压的命令不一样,但是解压之后的内容是一样滴。

解压命令如下:

tar zxvf gcc-5.3.0.tar.gz

tar jxvf gcc-5.3.0.tar.bz2

 
 

安装流程

 
 

安装这个GCC倒是让我对源码安装了解了一点知识。

我就不解释上图了,反正我是这么理解的

 
 

【5、开始安装】

 
 

首先设置好临时目录B和最终安装目录C

我们切到B目录下,开始Configure,关于Configure配置的选项太多了,我首先是参考其他人的,这里按软件不要怕错,怕鸡毛啊,直接Configure,说不定成功了呢,不成功再重来嘛~

为你详解Linux安装GCC方法

该文作者的Configure是:

但是我不知道--host=i386-redhat-linux是什么意思,我就把这个选项给删掉了

此外我也不会用GCC去编译java,因此我把最后的--enable-languages=c,c++,java中的java给删掉了,然后目录改成了我的目录--prefix=/usr/local/gcc-5.3.0

大功告成,我猛地摁了一下回车,看着命令行上的文字上下飞舞,一阵窃喜,不料报错了:

提示是:

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

摆渡之:

网上有很多的参考,我选了这篇,挺有用的

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

 
 

【6、GMP,MPFR,MPC的安装】

 
 

GMP先安装,MPFR依赖于GMP,而MPC依赖于GMP和MPFR,configure的时候也有不一样

 
 

先装GMP,我安装的版本是gmp-6.1.0

下载地址如下:

https://gmplib.org/

下载完之后解压,依旧是A,B,C三目录(三目录是我自己理解的,你们就不要摆渡了)的形式安装

切到中间目录B中:

../gmp-6.1.0/configure --prefix=/usr/local/gmp-6.1.0

make

make install

这三个目录都在中间目录B中执行的,如此gmp是安装好了

接下来是安装MPFR,我安装的版本是mpfr-3.1.3

下载地址如下:

http://www.mpfr.org/mpfr-current/

和安装GMP一样,三目录,先解压到目录A中,然后在B中执行如下

../mpfr-3.1.3/configure \

--prefix=/usr/local/mpfr-3.1.3 \

--with-gmp=/usr/local/gmp-6.1.0

这里体现出MPFR对GMP的依赖关系在--with-gmp=/usr/local/gmp-6.1.0

然后是:

make

make install

再来安装MPC(model predict control?),和GMP,MPFR一样安装

我的版本是mpc-1.0.3

下载地址为:

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

../mpc-1.0.3/configure \

--prefix=/usr/local/mpc-1.0.3 \

--with-gmp=/usr/local/gmp-6.1.0 \

--with-mpfr=/usr/local/mpfr-3.1.3

make

make install

 
 

【7、继续安装】

 
 

这样一来三个包都装好了,然后我有继续不要命的configure,这回是切到安装GCC的中间目录中去,这里我是在解压目录gcc-5.3.0下安装的所以,没有在中间目录下进行configure,是因为博客实在后面写的。

/home/jack/gcc-5.3.0/configure \

--prefix=/usr/local/gcc-5.3.0 \

--enable-threads=posix \

--disable-checking \

--enable--long-long \

--enable-languages=c,c++ \

--with-gmp=/usr/local/gmp-6.1.0 \

--with-mpfr=/usr/local/mpfr-3.1.3 \

--with-mpc=/usr/local/mpc-1.0.3

然后猛地一按Enter键,果不其然又报错:

这里报错的原因是我装的CentOS 6.5是64位版本的,导致没有32位的库文件和头文件,如果要继续的话就要添加这些,如果不添加,安装提示是加上配置:

--disable-multilib

然后我有在configure添加这一个

/home/jack/gcc-5.3.0/configure \

--prefix=/usr/local/gcc-5.3.0 \

--enable-threads=posix \

--disable-checking \

--enable--long-long \

--enable-languages=c,c++ \

--with-gmp=/usr/local/gmp-6.1.0 \

--with-mpfr=/usr/local/mpfr-3.1.3 \

--with-mpc=/usr/local/mpc-1.0.3 \

--disable-multilib

然后继续回车configure,configure终于成功了

然后是make一下,没想到make也报错了:

这里网上的解释是没有添加gmp,mpfr和mpc的目录到环境变量,后来一想确实是没有export。

当然了链接的时候,需要刚刚编译的3个lib。

export \

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.3/lib:/usr/local/gmp-6.1.0/lib:/usr/local/mpfr-3.1.3/lib

添加完之后,继续make…

截至到我写到这儿,还在make中,真是慢

 
 

【8、后续安装】

Cent OS 6.5下安装gcc-5.3.0的更多相关文章

  1. (静默安装)Cent OS 6_5(x86_64)下安装Oracle 11g

    Cent OS 6_5(x86_64)下安装Oracle 11g 1 硬件要求   1.1 内存 & swap 物理内存不少于1G 硬盘可以空间不少于5G swap分区空间不少于2G Mini ...

  2. Cent OS 6.6 下安装mysql(5.5.20)和 PHP(5.3.10)

    0.准备步骤(没有连接网络的 linux): 挂载光盘.让网络 yum 源失效.修改光盘 yum 文件.安装 c 语言编译器 gcc. 1.MySQL(5.5.20) 下载 mysql 5.5.20 ...

  3. Cent OS 6.4下安装JDK1.6

    步骤1:查看Linux自带的JDK是否已安装 (卸载CentOS已安装的JDK)  安装好的CentOS会自带OpenJDK,用命令"java -version"查看,会有下面的信 ...

  4. ubuntu下安装gcc

    在ubuntu下安装gcc 第一次写blog,多多包涵! gcc安装步骤 废话不多说,gcc安装步骤如下: 1. sudo apt update 2. sudo apt install build-e ...

  5. RedHat 5下安装gcc编译环境的具体步骤

    RedHat 5下安装gcc编译环境的具体步骤 在RHEL5系统中默认不安装linux系统中的开发编译环境(gcc),此软件包安装时依赖其他包较多 在以前使用RHEL4时可以通过如下命令安装: rpm ...

  6. Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入(1)

    一.本系列分为6部分 1.Centos 7.0 下安装 Zabbix server 3.0服务器的安装及 监控主机的加入 2.Centos 6.5 下安装 Zabbix server 3.0服务器的安 ...

  7. Linux(RHEL6.0)下安装GCC

    查看系统版本 [root@CP-RHEL proc]# cat /etc/issue Red Hat Enterprise Linux Server release 6.0 (Santiago) Ke ...

  8. Linux下安装gcc和g++

    以CentOS为例,安装后是没有C语言和C++编译环境的,需要手动安装,最简单的是用yum的方式安装,过程如下: 1.安装gcc yum install gcc 询问是否,按y键回车即可,或者 yum ...

  9. linux下安装gcc详解

    1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...

随机推荐

  1. Spring MVC Beginner’s Guide勘误表

    - 17 submitted: last submission 09 Dec 2016 Page number: 213 Qauntity should be: Quantity Page numbe ...

  2. set 容器 的全解(转)

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

  3. CentOS 安装 Hadoop

    原文地址:http://www.cnblogs.com/caca/p/centos_hadoop_install.html 下载和安装   download hadoop from http://ha ...

  4. 【Linux】目录配置

    为什么每套Linux distributions的配置文件.执行文件.每个目录内放置的文件其实都差不多?因为有一套需要依据的标准!我们底下就来瞧一瞧. 因为利用Linux来开发产品或distribut ...

  5. Zookeeper监控工具

    Zookeeper的常用开源监控工具可以参考:http://zqhxuyuan.github.io/2016/12/31/BigData-Monitor-Tool

  6. python学习笔记——multiprocessing 多进程中的重构方法__init__

    重构: import multiprocessing import time class ClockProcesses(multiprocessing.Process): def __init__(s ...

  7. linux内存碎片防治技术

    Linux kernel组织管理物理内存的方式是buddy system(伙伴系统),而物理内存碎片正式buddy system的弱点之一,为了预防以及解决碎片问题,kernel采取了一些实用技术,这 ...

  8. Linux时间子系统(一) 基本概念

    本文使用Q & A的方式来和大家以前探讨一下时间的基本概念 一.什么是时间? 这个问题实在是太复杂了,我都不知道这是一个物理学.宇宙学.还是热力学异或是哲学问题,我只是想从几个侧面来了解一下时 ...

  9. tp查询范围

    一.查询范围 //说明username和password是对应模型下的  scopeUsername($query) 和scopePassword($query)方法 //关键字scope 在控制器如 ...

  10. 温故而知新: 关于 js Form 方式提交的一些新认知

    这里介绍的是通过js进行异步form提交,而不是表单Form Submit提交. 提交方式主要有以下两种: 参数为字符串方式的提交,如:a=b&c=d formData方式提交, 如:new ...