【参考】http://linux.it.net.cn/CentOS/course/2015/0503/15121.html
http://blog.chinaunix.net/uid-16844439-id-3181304.html
http://blog.youkuaiyun.com/zyysql/article/details/6036145
用虚拟光驱安装ubuntu时显示没有安装gcc,所以自己装了一次,以为很简单,后来发现门道不少。
先来说说解压方式。在gmp、mpfr、mpc时,到其官网下载时,经常遇到各种.gz、.lz等文件,每种文件解压方式不一样,特此来总结一下
.tar.gz .tar.bz2要解压很简单 :
.tar.gz 格式解压为 tar -zxvf xx.tar.gz
.tar.bz2 格式解压为 tar -jxvf xx.tar.bz2
.tar.xz .tar.lz复杂一点:
.tar.xz的解压方法:
xz -d mpfr-3.1.2.tar.xz
会产生一个mpfr-3.1.2.tar 文件,再执行
tar -xvf mpfr-3.1.2.tar
.tar.lz的解压方法:
该格式需要使用Lzip或Lunzip解压,CentOS 6.5默认不安装此程序。
一、首先从GNU上下载GCC包,ftp://gcc.gnu.org/,我使用的是最新发布版本gcc-4.5.1.tat.gz,
1) tar zxvf gcc-4.5.1.tar.gz
2) cd gcc-4.5.1
3) ./congigure
此时会出现这样的错误:
gcc configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
从错误中可以看出:GCC编译需要GMP, MPFR, MPC这三个库,我使用的版本为gmp-4.3.2,mpfr-2.4.2和mpc-0.8.1。这三个包从下面的地址下载:
http://gmplib.org/,http://www.mpfr.org/,http://www.multiprecision.org/
二、安装GMP时也出现了错误:
No usable m4 in $PATH or /usr/5bin (see config.log for reasons).
由此可以看出是缺少M4文件。可以去这里下载:http://ftp.gnu.org/gnu/m4/ 。我这里下载了m4-1.4.1.tar.gz
1) tar zxvf m4-1.4.1.tar.gz
2) cd m4-1.4.1
3) ./configure
4) make
5) make check(强烈建议检查,确保正确)
6) make install(需要root,建议在root中安装)
三、有了M4就可以装别的了。由于MPFR和MPC都依赖于GMP包,所以首先安装GMP。
1)tar jxvf gmp-4.3.2.tar.bz2
2)cd gmp-4.3.2
3)./configure
4)make
5)make check
6) make install
四、安装MPFR
1) tar jxvf mpfr-2.4.2.tar.bz2
2) cd mpfr-2.4.2
3) ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
4) make
5) make check
6) make install
五、安装MPC
1) tar zxvf mpc-0.8.1.tar.gz
2) cd mpc-0.8.1
3) ./configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib
4) make
5) ldconfig -v(出现:error while loading shared libraries: libmpfr.so.1: cannot open shared objec,可以自己去man ldd 和ldconfig)
6) make check
7) make install
六、这几个库的默认位置是/usr/local/include和/usr/local/lib,GCC编译时可能会找不到这三个库,需要确认库位置是否在环境变量LD_LIBRARY_PATH中,查看环境变量内容可以用命令
$echo $LD_LIBRARY_PATH
设置该环境变量命令如下:
$export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
现在开始安装GCC
1) tar xvf gcc-4.5.1.tar.gz
2) cd gcc-4.5.1
3) ./configure
4) make
5) make check
6) sudo make install