Cent OS 6.5下安装gcc-5.3.0
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cent OS 6.5下安装gcc-5.3.0相关的知识,希望对你有一定的参考价值。
目录:
1、下载源码包
2、安装以前版本的GCC编译器
3、文件传输
4、熟悉解压命令
5、安装流程
6、开始安装
7、安装必备包之GMP,MPFR,MPC的安装
8、继续安装
【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,说不定成功了呢,不成功再重来嘛~
该文作者的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
下载地址如下:
下载完之后解压,依旧是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的主要内容,如果未能解决你的问题,请参考以下文章