之所以有这篇基础的文章,是因为虽然 gcc 编译我已经做过很多遍,但每一次在不同平台上编译时都还会遇到各种各样的问题,为了使这样的情况不再出现浪费时间,影响工作的连续性,所以决定写篇备忘,以供自己查阅,也可以分享出来,让大家不要在这上面浪费时间。
依赖环境:
Bison 包,g++ 包,可以在 centos6.5 镜像中找到;
安装步骤:
a) 源码下载
b) 解压,如 gcc-4.9.4
c) cd gcc-4.9.4
由于 gcc 依赖 gmp, mprf, mpc 三个库,可以通过两种途径安装。
下载安装包安装
ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2
http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2
http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz
执行 ./ contrib/download_prerequisities
d) 安装依赖库
gmp
cd gmp
mkdir build
cd build
../configure –prefix=/usr/local/gcc/gmp
make && make install
mpfr
cd ../../mpfr
mkdir build
cd build
../configure –prefix=/usr/local/gcc/mpfr –with-gmp=/usr/local/gcc/gmp
make && make install
mpc
cd ../../mpc
mkdir build
cd build
../configure –prefix=/usr/local/gcc/mpc –with-mpfr=/usr/local/gcc/mpfr –with-gmp=/usr/local/gcc/gmp
make && make install
e) 在 /etc/ld.so.conf 文件中添加以下内容
/usr/local/gcc/gmp-4.3.2/lib
/usr/local/gcc/mpfr-2.4.2/lib
/usr/local/gcc/mpc-0.8.1/lib
然后运行 ldconfig 加入到库搜索路径中。
f) 编译 gcc
cd ../..
mkdir build
cd build
../configure –prefix=/usr/local/gcc –enable-threads=posix –disable-checking –enable-languages=c,c++ –disable-multilib
make && make install
g) Ps:
如果编译过程中遇到问题,需要重新编译,需要执行 make distclean 来清除中间文件,然后重新配置。错误信息也可以在 build 下面的 config.log 里面看到。