|
|
在第五章第一次调整工具链用readelf a.out 的输出是/tools/lib/ld-linux.so.2 是正确的
进入第六章,编译安装直到glibc都没有错误,按照手册上make -k check 后检查日志文件只有和手册上很象的两个错误(但是不一样)在安装后我把编译和原代码目录都删了
接下来 配置等都没出问题
在我再次调整工具链时问题来了:
gcc -dumpspecs | \
perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' > \
`dirname $(gcc --print-libgcc-file-name)`/specs
之后提示找不到specs 我恼了 在sir上找到“手把手教你如何建立自己的Linux系统(LFS速成手册)”上边的解决办法,上边说关于之前意外删除了binutils的目录的补救方法
tar xvf $LFS/binutils-2.15.94.0.2.2.tar.bz2
mkdir binutils-build
cd binutils-build
../binutils-2.15.94.0.2.2/configure --prefix=/tools --disable-nls \
--enable-shared --with-lib-path=/tools/lib
make
make -C ld clean
make -C ld LIB_PATH=/usr/lib:/lib
make -C ld INSTALL=/tools/bin/install install
cd ..
rm -rf binutils-build
rm -rf binutils-2.15.94.0.2.2
由于在chroot后我就没在新系统上编译过binutils 所以我照做,然后又
cd binutils-build
make -C ld INSTALL=/tools/bin/install install
cd ..
rm -rf binutils-build
rm -rf binutils-2.15.94.0.2.2
之后我按照上面的方法调整specs文件:
perl -pi -e 's@ /tools/lib/ld-linux.so.2@ /lib/ld-linux.so.2@g;' \
-e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' \
$(gcc --print-file specs)
好象和手册上的不同但我一字不漏的敲了进去,还是提示找不到specs
再次测试工具链是否被调整成功
echo 'main(){}' > dummy.c
cc dummy.c 的时候出现了错误的信息:
/toos/lib/gcc/i686-pc-linux-gnu/4.0.3/../../../i686-pc-linux-gnu/bin/ld: err or while loading shared libraries: libbfd-2.16.1.so: cannot open shared object collect2: ld returned 127 exit status
再往下就不知道该怎样收场了,不知道大家遇到过这样的问题没
老实说在开始我就按照手册并参考着“手把手教你如何建立自己的Linux系统(LFS速成手册)”做的,这样是不是不好?我现在是应该从头开始还是从第六章开始啊,如果我想从第六章开始的话应该怎么做呢? 请指点 |
|