|
|
一有多月以前第一次做CLFS的时候,感觉按照手册上做,还很顺利,几乎没有遇到什么问题。
最近,CLFS-svn手册似乎有了一些改动。
遇到几次 chroot 之后,编译了一些源码包,花了差不多一个小时多的时间后在调整工具链的时候会出错,重做过几次仍然还是一样的结果。
有一次我在chroot 之后就按照这里http://cross-lfs.org/view/svn/x86_64-64/prologue/hostreqs.html的方法检查是不是有什么工具链弄丢了。
今天重做CBLFS的时候,再次想起这个环节。就又检查了一次。
- root:/sources/expect-5.43# cat > version-check.sh << "EOF"
- #!/bin/bash
- # Simple script to list version numbers of critical development tools
- bash --version | head -n1 | cut -d" " -f2-4
- echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4
- bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
- echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
- diff --version | head -n1
- find --version | head -n1
- gawk --version | head -n1
- gcc --version | head -n1
- /lib/libc.so.6 | head -n1 | cut -d" " -f1-7
- grep --version | head -n1
- gzip --version | head -n1
- make --version | head -n1
- patch --version | head -n1
- sed --version | head -n1
- tar --version | head -n1
- EOF
- root:/sources/expect-5.43#
- root:/sources/expect-5.43# bash version-check.sh
- bash, version 3.2.8(1)-release
- Binutils: version 2.17
- bzip2, Version 1.0.4, 20-Dec-2006.
- Coreutils: 6.9
- diff (GNU diffutils) 2.8.7
- GNU find version 4.2.29
- GNU Awk 3.1.5
- gcc (GCC) 4.2.0
- version-check.sh: line 13: /lib/libc.so.6: No such file or directory
- grep (GNU grep) 2.5.1
- gzip 1.3.11
- GNU Make 3.81
- patch 2.5.9
- GNU sed version 4.1.5
- tar (GNU tar) 1.16.1
复制代码
手工做了个连接:
- root:/sources/expect-5.43# ls -l /tools/lib/libc.so.6
- lrwxrwxrwx 1 root root 11 Jun 3 14:30 /tools/lib/libc.so.6 -> libc-2.5.so
- root:/sources/expect-5.43# ln -sv /tools/lib/libc-2.5.so /lib/libc.so.6
- `/lib/libc.so.6' -> `/tools/lib/libc-2.5.so'
复制代码
做过链接之后,在接下来的安装基础软件的时候,新编译的glibc等软件包的文件会将临时的链接覆盖。这样就完成了新的软件包的安装。
然后,再检查:
- root:/sources/expect-5.43# bash version-check.sh
- bash, version 3.2.8(1)-release
- Binutils: version 2.17
- bzip2, Version 1.0.4, 20-Dec-2006.
- Coreutils: 6.9
- diff (GNU diffutils) 2.8.7
- GNU find version 4.2.29
- GNU Awk 3.1.5
- gcc (GCC) 4.2.0
- GNU C Library stable release version 2.5,
- grep (GNU grep) 2.5.1
- gzip 1.3.11
- GNU Make 3.81
- patch 2.5.9
- GNU sed version 4.1.5
- tar (GNU tar) 1.16.1
复制代码
这次就没问题了。如果找不到glibc,还会在做CBLFS的时候现在一些问题。在编译Xorg的时候肯定会失败的。
所以,在做LFS或者CLFS的过程中,在chroot之后最好是先检查一下工具链。 |
|