先安装gcc需要GMP、MPFR、MPC这三个库,可从ftp://gcc.gnu.org/pub/gcc/infrastructure/下载相应的压缩包。由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp4.3.2,mpfr2.4.2和mpc0.8.1。
gmp-4.3.2.tar.bz2
mpfr-2.4.2.tar.bz2
mpc-0.8.1.tar.gz
gcc-4.9.2.tar.bz2
解压缩后分别安装
#安装gmp-4.3.2
$ tar jxf gmp-4.3.2.tar.bz2
$ cd gmp-4.3.2
$./configure --prefix=/home/zhw/DevelopmentKits/gmp-4.3.2
$make
$make install
$make clean
$cd ..
#安装mpfr-2.4.2
$ tar jxf mpfr-2.4.2.tar.bz2
$ cd mpfr-2.4.2
$./configure --prefix=/home/zhw/DevelopmentKits/mpfr-2.4.2 --with-gmp=/home/zhw/DevelopmentKits/gmp-4.3.2
$make
$make install
$make clean
$cd ..
#安装mpc-0.8.1
$ tar zxf mpc-0.8.1.tar.gz
$ cd mpc-0.8.1
$ ./configure --prefix=/home/zhw/DevelopmentKits/mpc-0.8.1 --with-gmp=/home/zhw/DevelopmentKits/gmp-4.3.2 --with-mpfr=/home/zhw/DevelopmentKits/mpfr-2.4.2
$ make
$ make install
$ make clean
$cd ..
在http://gcc.gnu.org/index.html 上下载gcc安装程序gcc-4.9.2.tar.bz2
$tar zxf gcc-4.9.2.tar.bz2
$cd gcc-4.9.2
make
make install
make clean
保留旧版的gcc,建立符号链接
cd /usr/bin
ln -s /usr/local/gcc-4.2.3/bin/gcc gcc42
ln -s /usr/local/gcc-4.2.3/bin/g++ g42++
最后,在/etc/profile中增加下面两行代码:
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.2.3/lib
export LD_LIBRARY_PATH
重新登录测试一下,看能不能用。
以上命令可以写个shell文件,installgcc.sh ,批处理执行
假定下载的4个安装文件都放在/software 下
#!/bin/sh
cd /software
bunzip2 gmp-4.3.2.tar.bz2
tar xf gmp-4.3.2.tar
bunzip2 mpfr-2.4.2.tar.bz2
tar xf mpfr-2.4.2.tar
tar zxf mpc-0.8.1.tar.gz
tar zxf gcc-4.2.3.tar.gz
cd /software/gmp-4.3.2
./configure --prefix=/usr/local/gmp-4.3.2
make
make install
make clean
cd /software/mpfr-2.4.2
./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
make
make install
make clean
cd /software/mpc-0.8.1
./configure --prefix=/usr/local/mpc-0.8.1 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
make
make install
make clean
mkdir /software/gcc-build
cd /software/gcc-build
../gcc-4.2.3/configure --prefix=/usr/local/gcc-4.2.3 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1
make
make install
make clean
cd /usr/bin
ln -s /usr/local/gcc-4.2.3/bin/gcc gcc42
ln -s /usr/local/gcc-4.2.3/bin/g++ g42++