LinuxSir.cn,穿越时空的Linuxsir!

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

做CLFS-svn-x86_64 第10章时glibc测试时出错

[复制链接]
发表于 2007-9-16 18:32:47 | 显示全部楼层 |阅读模式
使用以下命令进行测试的,结果出错了
  1. root:/sources/glibc-build#  make -k check >glibc-check-log 2>&1 ; grep Error glibc-check-log
  2. malloc: using debugging hooks
  3. Maximum lock depth 1024 reached task: ld-linux.so.2 (15243)
  4. make[2]: *** [/sources/glibc-build/math/test-double.out] Error 1
  5. make[1]: *** [math/tests] Error 2
  6. make[2]: *** [/sources/glibc-build/posix/tst-vfork3.out] Error 1
  7. make[2]: [/sources/glibc-build/posix/annexc.out] Error 1 (ignored)
  8. make[1]: *** [posix/tests] Error 2
  9. make: *** [check] Error 2
复制代码


出错的命令如下,我只帖了最后的两条编译命令

  1. scripts/check-local-headers.sh "/usr/include" "/sources/glibc-build/" > /sources/glibc-build/check-local-headers.out
  2. /usr/bin/perl scripts/begin-end-check.pl argp/argp.h assert/assert.h catgets/nl_types.h crypt/crypt.h ctype/ctype.h debug/execinfo.h dirent/dirent.h dlfcn/dlfcn.h elf/elf.h elf/link.h gmon/sys/gmon.h gmon/sys/gmon_out.h gmon/sys/profil.h grp/grp.h iconv/iconv.h iconv/gconv.h inet/netinet/ether.h inet/netinet/icmp6.h inet/netinet/igmp.h inet/netinet/in.h inet/netinet/ip6.h inet/arpa/ftp.h inet/arpa/inet.h inet/arpa/telnet.h inet/arpa/tftp.h inet/protocols/routed.h inet/protocols/rwhod.h inet/protocols/talkd.h inet/protocols/timed.h inet/aliases.h inet/ifaddrs.h inet/netinet/ip6.h inet/netinet/icmp6.h intl/libintl.h io/sys/stat.h io/sys/statfs.h io/sys/vfs.h io/sys/statvfs.h io/fcntl.h io/sys/fcntl.h io/poll.h io/sys/poll.h io/utime.h io/ftw.h io/fts.h io/sys/sendfile.h libio/stdio.h libio/libio.h locale/locale.h locale/langinfo.h locale/xlocale.h login/utmp.h login/lastlog.h login/pty.h malloc/malloc.h malloc/obstack.h malloc/mcheck.h math/math.h math/complex.h math/fenv.h math/tgmath.h misc/sys/uio.h nis/rpcsvc/nis.h nis/rpcsvc/nis_callback.h nis/rpcsvc/nis_tags.h nis/rpcsvc/nislib.h nis/rpcsvc/yp.h nis/rpcsvc/yp_prot.h nis/rpcsvc/ypclnt.h nis/rpcsvc/ypupd.h nptl_db/thread_db.h nptl/sysdeps/pthread/pthread.h nptl/semaphore.h nss/nss.h posix/sys/utsname.h posix/sys/times.h posix/sys/wait.h posix/sys/types.h posix/unistd.h posix/glob.h posix/regex.h posix/wordexp.h posix/fnmatch.h posix/getopt.h posix/tar.h posix/sys/unistd.h posix/sched.h posix/re_comp.h posix/wait.h posix/cpio.h posix/spawn.h pwd/pwd.h resolv/resolv.h resolv/netdb.h resolv/arpa/nameser.h resolv/arpa/nameser_compat.h resource/sys/resource.h resource/sys/vlimit.h resource/sys/vtimes.h resource/ulimit.h rt/aio.h rt/mqueue.h setjmp/setjmp.h shadow/shadow.h signal/signal.h signal/sys/signal.h socket/sys/socket.h socket/sys/un.h stdio-common/printf.h stdio-common/stdio_ext.h stdlib/stdlib.h stdlib/alloca.h stdlib/monetary.h stdlib/fmtmsg.h stdlib/ucontext.h sysdeps/generic/inttypes.h sysdeps/generic/stdint.h stdlib/errno.h stdlib/sys/errno.h string/string.h string/strings.h string/memory.h string/endian.h string/argz.h string/envz.h string/byteswap.h sunrpc/rpc/auth.h sunrpc/rpc/auth_des.h sunrpc/rpc/auth_unix.h sunrpc/rpc/clnt.h sunrpc/rpc/des_crypt.h sunrpc/rpc/key_prot.h sunrpc/rpc/netdb.h sunrpc/rpc/pmap_clnt.h sunrpc/rpc/pmap_prot.h sunrpc/rpc/pmap_rmt.h sunrpc/rpc/rpc.h sunrpc/rpc/rpc_des.h sunrpc/rpc/rpc_msg.h sunrpc/rpc/svc.h sunrpc/rpc/svc_auth.h sunrpc/rpc/types.h sunrpc/rpc/xdr.h sunrpc/rpcsvc/bootparam.h sysvipc/sys/ipc.h sysvipc/sys/msg.h sysvipc/sys/sem.h sysvipc/sys/shm.h termios/termios.h termios/sys/termios.h termios/sys/ttychars.h time/time.h time/sys/time.h time/sys/timeb.h wcsmbs/wchar.h wctype/wctype.h > /sources/glibc-build/begin-end-check.out
  3. make[1]: Target `check' not remade because of errors.
  4. make[1]: Leaving directory `/sources/glibc-2.6.1'
  5. make: *** [check] Error 2
复制代码



我怀疑是perl程序有问题,程序没有找到linux-gate.so.1,我也不知道这个文件是哪个包里的
  1. root:/usr/bin# ldd perl
  2.         linux-gate.so.1 =>  (0xffffe000)
  3.         libnsl.so.1 => /tools/lib/libnsl.so.1 (0xf7f3f000)
  4.         libdl.so.2 => /tools/lib/libdl.so.2 (0xf7f3b000)
  5.         libm.so.6 => /tools/lib/libm.so.6 (0xf7f16000)
  6.         libcrypt.so.1 => /tools/lib/libcrypt.so.1 (0xf7ee8000)
  7.         libutil.so.1 => /tools/lib/libutil.so.1 (0xf7ee4000)
  8.         libc.so.6 => /tools/lib/libc.so.6 (0xf7db6000)
  9.         /tools/lib/ld-linux.so.2 (0xf7f57000)
复制代码


但是我的perl是按手册上来做的,编译也通过了
使用以下命令来编译perl的,所有的命令都通过来。
  1. patch -Np1 -i ../perl-5.8.8-gcc42_fix-1.patch
  2. patch -Np1 -i ../perl-5.8.8-libc-2.patch
  3. ./configure.gnu --prefix=/tools \
  4.     -Dstatic_ext='Data/Dumper IO Fcntl POSIX' -Dcc="gcc ${BUILD32}"
  5. make perl utilities
  6. cp -v perl pod/pod2man /tools/bin
  7. install -dv /tools/lib/perl5/5.8.8
  8. cp -Rv lib/* /tools/lib/perl5/5.8.8
  9. ln -sv /tools/bin/perl /usr/bin
复制代码
发表于 2007-9-16 20:00:34 | 显示全部楼层
还没有弄完啊?
我都又做了两遍了啊!
跳过测试。测试有错是正常的。测试会报2个错误,不必理会。在那段命令的下方有一段英文说明。

有疑问的地方一定要仔细看手册。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-9-17 08:31:54 | 显示全部楼层
晕死,你都做了两遍了啊,实在是太猛了
回复 支持 反对

使用道具 举报

发表于 2007-9-17 09:58:12 | 显示全部楼层
Post by echo
晕死,你都做了两遍了啊,实在是太猛了

两遍做完,相同的一个效果。
启动时找不到 /lib64/udev/devices/*  。 提示 ERROR  4 , 之后 等待七八分钟,出现 login 提示。登录后找不到 /dev/dsp 和 /dev/shm 。
用 DESTDIR 将其安装到 /tmp/udev-115-test 目录中,的确没有发现 /lib64/udev/devices/*
回复 支持 反对

使用道具 举报

发表于 2007-9-17 11:34:25 | 显示全部楼层
这个 Udev 的问题,我已经解决了。解决的方法不太地道。
我从 x86_64 的那个 lfslivecd 启动,然后把 /sbin/udev* 还有 /{,usr/}{lib,lib64}/libvolume_id* 和 /etc/udev/ 用 cp -a 的方法拷贝到目标系统中。重启,不再出现 /lib64/udev/device/* 的提示了。
但,启动后还是有一个错误,等待好几分钟才出现登录提示。这个错误是:

klogd[1107]: segfault at 0000000000000000 rip 00007f00440e9cf7 rsp 00007fff4c5e6a10 error 4       [ FAIL]
回复 支持 反对

使用道具 举报

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

本版积分规则

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