gcc-4.9.4的安装

centos7安装Nodejs时提示:gcc的版本过旧。于是下载了gcc-4.9.4的源码包gcc-4.9.4.tar.gz,解压,编译时提示:

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

编译安装gcc时需要GMP,MPFR,MPC这三个依赖的库,从这儿下载:

ftp://gcc.gnu.org/pub/gcc/infrastructure/

我选择了:gmp-4.2.3,mpfr-2.4.2,mpc-0.8.1

注意:mpfr库依赖于gmp,mpc依赖于gmp和mpfr。所以三个库的安装顺序为:

gmp->mpfr->mpc.

这里简单说一下过程:

在解压的目录下创建一个临时的用于编译的目录,进入目录执行安装过程:

tar zxvf gmp-4.2.3.tar.gz
cd gmp-4.2.3
mkdir gmp-build 
cd gmp-build
../configure --prefix=/usr/local/gmp-4.2.3
make && make install

mpfr和mpc的安装过程中要把依赖库加进去:

../configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.2.3

以及:

../configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.2.3 --with-mpfr=/usr/local/mpfr-2.4.2

最后安装gcc

gcc的编译中默认只要64位的库;一定要忽略checking,否则慢死;指定安装c,c++的编译器,如果不指定会出错;为了保险可以加上库文件的位置:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.2.3/lib:/usr/local/mpfr-2.4.2/lib

最后执行: 

../configure --prefix=/usr/local/gcc-4.9.4 --disable-multilib --disable-checking --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.2.3 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1

建议将库文件的环境变量写入/etc/profile

将/usr/bin下的gcc指向安装的位置,完成。

猜你喜欢

转载自my.oschina.net/u/591185/blog/1810718