LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 931|回复: 1

CLFS-svn-pure64 .. chroot 后找不到 glibc .. ( 解决方法 )

[复制链接]
发表于 2007-6-4 00:46:08 | 显示全部楼层 |阅读模式
一有多月以前第一次做CLFS的时候,感觉按照手册上做,还很顺利,几乎没有遇到什么问题。
最近,CLFS-svn手册似乎有了一些改动。
遇到几次 chroot 之后,编译了一些源码包,花了差不多一个小时多的时间后在调整工具链的时候会出错,重做过几次仍然还是一样的结果。
有一次我在chroot 之后就按照这里http://cross-lfs.org/view/svn/x86_64-64/prologue/hostreqs.html的方法检查是不是有什么工具链弄丢了。
今天重做CBLFS的时候,再次想起这个环节。就又检查了一次。

  1. root:/sources/expect-5.43# cat > version-check.sh << "EOF"
  2. #!/bin/bash

  3. # Simple script to list version numbers of critical development tools

  4. bash --version | head -n1 | cut -d" " -f2-4
  5. echo -n "Binutils: "; ld --version | head -n1 | cut -d" " -f3-4
  6. bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6-
  7. echo -n "Coreutils: "; chown --version | head -n1 | cut -d")" -f2
  8. diff --version | head -n1
  9. find --version | head -n1
  10. gawk --version | head -n1
  11. gcc --version | head -n1
  12. /lib/libc.so.6 | head -n1 | cut -d" " -f1-7
  13. grep --version | head -n1
  14. gzip --version | head -n1
  15. make --version | head -n1
  16. patch --version | head -n1
  17. sed --version | head -n1
  18. tar --version | head -n1

  19. EOF
  20. root:/sources/expect-5.43#
  21. root:/sources/expect-5.43# bash version-check.sh
  22. bash, version 3.2.8(1)-release
  23. Binutils: version 2.17
  24. bzip2,  Version 1.0.4, 20-Dec-2006.
  25. Coreutils:  6.9
  26. diff (GNU diffutils) 2.8.7
  27. GNU find version 4.2.29
  28. GNU Awk 3.1.5
  29. gcc (GCC) 4.2.0
  30. version-check.sh: line 13: /lib/libc.so.6: No such file or directory
  31. grep (GNU grep) 2.5.1
  32. gzip 1.3.11
  33. GNU Make 3.81
  34. patch 2.5.9
  35. GNU sed version 4.1.5
  36. tar (GNU tar) 1.16.1
复制代码


手工做了个连接:

  1. root:/sources/expect-5.43# ls -l /tools/lib/libc.so.6
  2. lrwxrwxrwx 1 root root 11 Jun  3 14:30 /tools/lib/libc.so.6 -> libc-2.5.so
  3. root:/sources/expect-5.43# ln -sv /tools/lib/libc-2.5.so /lib/libc.so.6
  4. `/lib/libc.so.6' -> `/tools/lib/libc-2.5.so'
复制代码

做过链接之后,在接下来的安装基础软件的时候,新编译的glibc等软件包的文件会将临时的链接覆盖。这样就完成了新的软件包的安装。

然后,再检查:
  1. root:/sources/expect-5.43# bash version-check.sh
  2. bash, version 3.2.8(1)-release
  3. Binutils: version 2.17
  4. bzip2,  Version 1.0.4, 20-Dec-2006.
  5. Coreutils:  6.9
  6. diff (GNU diffutils) 2.8.7
  7. GNU find version 4.2.29
  8. GNU Awk 3.1.5
  9. gcc (GCC) 4.2.0
  10. GNU C Library stable release version 2.5,
  11. grep (GNU grep) 2.5.1
  12. gzip 1.3.11
  13. GNU Make 3.81
  14. patch 2.5.9
  15. GNU sed version 4.1.5
  16. tar (GNU tar) 1.16.1
复制代码


这次就没问题了。如果找不到glibc,还会在做CBLFS的时候现在一些问题。在编译Xorg的时候肯定会失败的。
所以,在做LFS或者CLFS的过程中,在chroot之后最好是先检查一下工具链。
发表于 2007-6-4 02:04:17 | 显示全部楼层
好像当年我也碰到过类似的问题,所以没继续。缺了个文件。很奇怪的说。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表