+ -
当前位置:首页 → 问答吧 → 做CLFS-svn-x86_64 第10章时glibc测试时出错

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

时间:2007-09-16

来源:互联网

使用以下命令进行测试的,结果出错了
代码:
root:/sources/glibc-build# make -k check >glibc-check-log 2>&1 ; grep Error glibc-check-log
malloc: using debugging hooks
Maximum lock depth 1024 reached task: ld-linux.so.2 (15243)
make[2]: *** [/sources/glibc-build/math/test-double.out] Error 1
make[1]: *** [math/tests] Error 2
make[2]: *** [/sources/glibc-build/posix/tst-vfork3.out] Error 1
make[2]: [/sources/glibc-build/posix/annexc.out] Error 1 (ignored)
make[1]: *** [posix/tests] Error 2
make: *** [check] Error 2
出错的命令如下,我只帖了最后的两条编译命令

代码:
scripts/check-local-headers.sh "/usr/include" "/sources/glibc-build/" > /sources/glibc-build/check-local-headers.out
/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
make[1]: Target `check' not remade because of errors.
make[1]: Leaving directory `/sources/glibc-2.6.1'
make: *** [check] Error 2

我怀疑是perl程序有问题,程序没有找到linux-gate.so.1,我也不知道这个文件是哪个包里的
代码:
root:/usr/bin# ldd perl
 linux-gate.so.1 => (0xffffe000)
 libnsl.so.1 => /tools/lib/libnsl.so.1 (0xf7f3f000)
 libdl.so.2 => /tools/lib/libdl.so.2 (0xf7f3b000)
 libm.so.6 => /tools/lib/libm.so.6 (0xf7f16000)
 libcrypt.so.1 => /tools/lib/libcrypt.so.1 (0xf7ee8000)
 libutil.so.1 => /tools/lib/libutil.so.1 (0xf7ee4000)
 libc.so.6 => /tools/lib/libc.so.6 (0xf7db6000)
 /tools/lib/ld-linux.so.2 (0xf7f57000)
但是我的perl是按手册上来做的,编译也通过了
使用以下命令来编译perl的,所有的命令都通过来。
代码:
patch -Np1 -i ../perl-5.8.8-gcc42_fix-1.patch
patch -Np1 -i ../perl-5.8.8-libc-2.patch
./configure.gnu --prefix=/tools \
 -Dstatic_ext='Data/Dumper IO Fcntl POSIX' -Dcc="gcc ${BUILD32}"
make perl utilities
cp -v perl pod/pod2man /tools/bin
install -dv /tools/lib/perl5/5.8.8
cp -Rv lib/* /tools/lib/perl5/5.8.8
ln -sv /tools/bin/perl /usr/bin

作者: echo   发布时间: 2007-09-16

还没有弄完啊?
我都又做了两遍了啊!
跳过测试。测试有错是正常的。测试会报2个错误,不必理会。在那段命令的下方有一段英文说明。

有疑问的地方一定要仔细看手册。

作者: tfkdmwmqtr   发布时间: 2007-09-17

晕死,你都做了两遍了啊,实在是太猛了

作者: echo   发布时间: 2007-09-17

引用:
作者: echo
晕死,你都做了两遍了啊,实在是太猛了
两遍做完,相同的一个效果。
启动时找不到 /lib64/udev/devices/* 。 提示 ERROR 4 , 之后 等待七八分钟,出现 login 提示。登录后找不到 /dev/dsp 和 /dev/shm 。
用 DESTDIR 将其安装到 /tmp/udev-115-test 目录中,的确没有发现 /lib64/udev/devices/*

作者: tfkdmwmqtr   发布时间: 2007-09-17

这个 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]

作者: tfkdmwmqtr   发布时间: 2007-09-17