ubuntu12.04 编译gcc4.8.0

时间:2022-12-24 09:14:03

闲来无事,编译个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中即可