闲来无事,编译个gcc来玩玩
准备工作:
1 下载gcc4.8.0 go ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
2 gcc需要三个依赖对应于4.8.0 需要以下版本
gmp ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
mpc ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
mpfr ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
实际编译
1 首先编译gmp 其他两个都依赖于它
1 tar -xvf gmp-4.3.2.tar.bz2 2 cd gmp-4.3.2 3 ./configure --prefix=/usr/local/mysoft/gmp-4.3.2 4 make 5 make check 6 sudo make install
2 编译 mpc
1 tar -xvf mpc-0.8.1.tar.gz 2 cd mpc-0.8.1 3 ./configure --prefix=/usr/local/mysoft/mpc-0.8.1 4 make 5 make check 6 sudo make install
3 编译安装mpfr
1 tar -xvf mpfr-2.4.2.tar.bz2 2 cd mpfr-2.4.2 3 ./configure --prefix=/usr/local/mysoft/mpfr-2.4.2 4 make 5 make check 6 sudo make install
注意十分重要:编译安装完以上软件时要将安装的共享库加入到搜索路径中否则在编译gcc的过程中会出现错误,两种方法
1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysoft/gmp-4.3.2/lib:/usr/local/mysoft/mpc-0.8.1/lib:/usr/local/mysoft/mpfr-2.4.2/lib (编译时没有出错,但安装时会出错,建议采用第二种方式)
2 编辑/etc/ld.so.conf 加入以下内容
/usr/local/mysoft/mpfr-2.4.2/lib
/usr/local/mysoft/gmp-4.3.2/lib
/usr/local/mysoft/mpc-0.8.1/lib
然后执行ldconfig
gcc编译安装,文档要求不要在源目录中进行编译
1 tar -xvf gcc-4.8.0.tar.bz2 2 mkdir gccbuild 3 cd gccbuild 4 ../gcc-4.8.0/configure --prefix=/usr/local/mysoft/gcc-4.8.0 --with-gmp=/usr/local/mysoft/gmp-4.3.2/ --with-mpc=/usr/local/mysoft/mpc-0.8.1/ --with-mpfr=/usr/local/mysoft/mpfr-2.4.2/ 5 make 6 sudo make install
不知道是不是电脑垃圾,make 了大约三个小时,可以在配置上加上那个 ----disable-bootstrap 选项,不过文档建议最好不要跳过
最后将安装gcc的路径加入到PATH中即可