现有linux系统上的编译器版本比较旧了:
binutils-2.13.90.0.18-9
gcc-3.5.1
准备编译一个新的版本。
之前由于没有考虑到gcc对binutils的依赖,导致编译出来的gcc仍然使用/usr/bin/ld来链接,出现一大堆问题。这次先升级binutils:
cd ~/pkg/binutils-2.19.1
CXXFLAGS=-fno-strict-aliasing CFLAGS=-fno-strict-aliasing ./configure --prefix=/usr/local
gmake
sudo gmake install
然后将mpfr安装到/usr/local下;
最后开始编译gcc4:
将/usr/local/lib添加到/etc/ld.so.conf中;
运行sudo ldconfig;
cd ~/pkg/gcc-4.4.0
CXXFLAGS=-fno-strict-aliasing CFLAGS=-fno-strict-aliasing ./configure --prefix=/usr/local --with-mpfr=/usr/local
gmake bootstrap -k
中间会遇到fstat64重定义的错误,这是试图编译fortran编译器时报的错,直接忽略了...
sudo gmake install
完成安装。