标签归档:源码编译安装gcc

centos 源码编译安装gcc 4.7.0

gcc官方网站 下载最新版本的gcc-4.7.0.tar.bz2
同时在infrastructure目录下寻找下载【必须】的cloog-0.16.2.tar.gz、mpc-0.8.1.tar.gz、mpfr-2.4.2.tar.bz2、ppl-0.11.tar.gz,去http://gmplib.org/ 下载最新的gmp-5.0.4.tar.bz2
开始前的注意事项:
【我是在CentOS 5.3 x64的虚拟机环境下实践的此文,推荐内存要大于2G,否则在编译一些模块时会出现因为物理内存耗光而死机的情况】

开始安装gcc 4.7.0,以下包的安装步骤不能错乱

tar jxvf gmp-5.0.4.tar.bz2
cd gmp-5.0.4
./configure --prefix=/usr/local/gmp-5.0.4 --build=x86_64-linux
make && make install
cd ../

tar jxvf mpfr-2.4.2.tar.bz2
cd mpfr-2.4.2
./configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-5.0.4
make && make install
cd ../

tar zxvf mpc-0.8.1.tar.gz
cd mpc-0.8.1
./configure --prefix=/usr/local/mpc-0.8.1  --with-gmp=/usr/local/gmp-5.0.4 --with-mpfr=/usr/local/mpfr-2.4.2
make && make install
cd ../

由于cloog-0.16.2是【isl-based version】,在gcc的./configure 时,使用–enable-cloog-backend=isl参数来指定cloog的后端为isl即可

tar zxvf ppl-0.11.tar.gz
cd ppl-0.11
./configure --prefix=/usr/local/pp1-0.11 --with-gmp=/usr/local/gmp-5.0.4
make && make install
cd ../

tar zxvf cloog-0.16.2.tar.gz
cd cloog-0.16.2
./configure --prefix=/usr/local/cloog-0.16.2 --with-gmp=/usr/local/gmp-5.0.4
make && make install
cd ../

安装gcc 4.7.0,此处的参数,只针对C、C++语言,如果需要其能编译出其他工具链(如all, ada, fortran, go, java, objc, obj-c++之类的),在enable-language后面添加上,然后添加上相应的参数就是

tar jxvf gcc-4.7.0.tar.bz2
cd gcc-4.7.0
./configure --with-gmp=/usr/local/gmp-5.0.4 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1 --enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --with-cpu=generic --disable-multilib --with-ppl=/usr/local/pp1-0.11 --with-cloog=/usr/local/cloog-0.16.2 --enable-cloog-backend=isl
make && make install

将以上四个库加入系统库路径,使用在/etc/ld.so.conf中添加或LD_LIBRARY_PATH环境变量中添加的方式
如在~/.bashrc中添加上下面语句

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-5.0.4/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib:/usr/local/cloog-0.16.2/lib:/usr/local/ppl-0.11/lib

使用gcc -v即可查看到新安装的gcc版本已经变为4.7.0了,如下图