patch -Np1 -i ../glibc-2.3.5-gcc4_fix_string-1.patch &&
patch -Np1 -i ../glibc-2.3.5-gcc4_fix_elf-1.patch &&
patch -Np1 -i ../glibc-2.3.5-gcc4_fix_iconvdata-1.patch
即可通过编译。
问题二:
同样还是调整工具链的问题,使用
SPECFILE=`gcc -print-search-dirs | head -n 1 | awk '{ print $2 "specs" }'` &&
gcc -dumpspecs > $SPECFILE &&
sed -i -e 's@^/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g' $SPECFILE &&
unset SPECFILE
也可顺利通过
问题三:
后面的编译将会一切顺利,直到碰到inetutils-1.4.2这个包,这个也是我最头疼的一个包。这个包必须要打一个在网上下的GCC4的补丁才能够编译通过,前段时间就已经完成了GCC4的编译过程,正当我庆幸的时候,我突然发现这个包编译的ftp在运行的时候有段失败的错误。于是放弃了发表编译过程的文章,因为至少我发现了这个问题,在GCC4.0.1出来后我又立即完成了一遍发现还是有这个问题。我到处在网上寻找答案,但是没有结果,于是我开始放弃,并等待LFS官方的发布,但是这次让我失望,官方的文章里面并没有提到这个问题,这次我横下一条心,开始读程序,最后自己写了一个补丁,目前使用正常。
解决方法:
按照GCC3.4.x的关于inetutils包的编译方法加入一个补丁:
patch -Np1 -i ../inetutils-1.4.2-gcc4-fix-shy-1.patch
问题四(建议):
安装file-4.14的时候,同时下载提供file-4.14网站上的file-4.14补丁文件
patch -Np0 -i ../file-4.14.patch1
后面的编译可以正常直到结束,到此为止,GCC4.0.1编译基本工具包的过程已经完成。但用GCC4.0.1来编译BLFS的过程中还会遇到许多问题。在此先解决一个问题:关于xfsprogs-2.6.25包的编译补丁,该补丁可以在Gentoo中下载到:
cd xfsprogs-2.6.25
patch -Np2 -i ../xfsprogs-2.6.25-gcc4.patch
附录:
我用GCC4.0.1成功编译的软件包集合
autoconf-2.59
bash-3.0
bc-1.06
binutils-2.16.1
bison-2.0
bzip2-1.0.3
coreutils-5.2.1
diffutils-2.8.1
e2fsprogs-1.38
file-4.14
findutils-4.2.23
flex-2.5.31
gawk-3.1.4
gettext-0.14.5
glibc-2.3.5
grep-2.5.1a
groff-1.19.1
grub-0.97
gzip-1.3.5
hotplug-2004_09_23
iana-etc-1.10
inetutils-1.4.2
iproute2-2.6.11-050330
kbd-1.12
less-382
lfs-bootscripts-3.2.1
libtool-1.5.18
m4-1.4.3
make-3.80
man-1.6
man-pages-2.05
mktemp-1.5
module-init-tools-3.1
ncurses-5.4
net-tools-1.60
openssl-0.9.7g
patch-2.5.4
perl-5.8.7
procps-3.2.5
psmisc-21.6
readline-5.0
reiserfsprogs-3.6.19
sed-4.1.4
shadow-4.0.10
sysklogd-1.4.1
sysvinit-2.86
tar-1.15.1
texinfo-4.8
unzip552
util-linux-2.12q
vim-6.3
wget-1.9.1
xfsprogs-2.6.25
zip231
zlib-1.2.2
automake-1.9.6
udev-063
linux-2.6.12.3
linux-libc-headers-2.6.12.0
gcc-4.0.1
主系统环境:
自己制作的基于LFS的LiveCD,所以不知道是否在其它系统下工作良好。
在VMware下编译。
(本人水平有限,如果你已经成功的编译,或者你发现我写的有什么不对的地方请及时纠正我。email:youbest@sina.com QQ:5132989)
转载请保持原文的完整性以及作者和出处,谢谢。
