最近打算搭建交叉编译平台。自己曾经的一篇日志用来借鉴。
先来说我是怎么得到gcc4.4和g++的
去packages.debian.org 上自己下载gcc4.4和g++二进制包。当然了用apt好呀,可惜俺不会在http代理认证下用。用sudo dpkg -i 安装*deb,要按我如下的排列顺序安装,避免依赖找不到。
gcc-4.4-base_4.4.5-8_i386.deb
libc-bin_2.11.2-10_i386.deb
libc6_2.11.2-10_i386.deb
libgcc1_4.4.5-8_i386.deb
libbz2-1.0_1.0.5-6_i386.deb
bzip2_1.0.5-6_i386.deb
libstdc++6_4.4.5-8_i386.deb
zlib1g_1.2.3.4.dfsg-3_i386.deb
binutils_2.20.1-16_i386.deb
libdb4.7_4.7.25-9_i386.deb
libgdbm3_1.8.3-9_i386.deb
perl-base_5.10.1-17_i386.deb
perl-modules_5.10.1-17_all.deb
perl_5.10.1-17_i386.deb
libtimedate-perl_1.2000-1_all.deb
libdpkg-perl_1.15.8.10_all.deb
make_3.81-8_i386.deb
patch_2.6-2_i386.deb
liblzma2_5.0.0-2_i386.deb
xz-utils_5.0.0-2_i386.deb
dpkg-dev_1.15.8.10_all.deb
libgmp3c2_4.3.2+dfsg-1_i386.deb
libmpfr4_3.0.0-2_i386.deb
cpp-4.4_4.4.5-8_i386.deb
cpp_4.4.5-1_i386.deb
libgomp1_4.4.5-8_i386.deb
gcc-4.4_4.4.5-8_i386.deb
libc-dev-bin_2.11.2-10_i386.deb
linux-libc-dev_2.6.32-31_i386.deb
libc6-dev_2.11.2-10_i386.deb
libstdc++6-4.4-dev_4.4.5-8_i386.deb
g++-4.4_4.4.5-8_i386.deb
gcc_4.4.5-1_i386.deb
g++_4.4.5-1_i386.deb
build-essential_11.5_i386.deb
现在gcc4.4和g++就安装完成了。
准备下载gcc4.3 source,和autoconf等工具。
sensible-utils_0.0.4_all.deb
debianutils_3.4_i386.deb
m4_1.4.14-3_i386.deb
autoconf_2.67-2_all.deb
autoconf2.59_2.59-1_all.deb
autotools-dev_20100122.1_all.deb
automake1.9_1.9.6+nogfdl-3.1_all.deb
gcc-4.3-base_4.3.5-4_i386.deb
gcc-4.3-source_4.3.5-4_all.deb
gcc-4.3编译必须依赖的两个包:gmp和mpfr
下载最新gmp和mpfr,按照INSTALL说明文档并各自在各自build目录编译好。
然后来到gcc4.3的目录,按照如下配置:
./configure --enable-languages=c,c++ --prefix=/usr/local/gcc2 --with-gmp-include=${BUILDDIR} --with-gmp-lib=${BUILDDIR}/.libs/ --with-mpfr-include=${BUILDDIR} --with-mpfr-lib=${BUILDDIR}/.libs
make; 此步骤需要大概1小时,我都快困了...看来gcc代码量好大...佩服。
make install;
ls -l /usr/bin/gcc 这个是gcc4.4的link
ln -s /usr/local/gcc2/gcc /usr/bin/gcc 改变为gcc4.3的link
ok,编译成功!