[lfs-support] glibc test failures. Acceptable?

Ken Moffat zarniwhoop at ntlworld.com
Mon Oct 28 09:03:09 PDT 2013


On Mon, Oct 28, 2013 at 01:07:32PM +0000, Richard wrote:
> Hello experts,
> 
> I am attempting my first LFS build; which will (hopefully) be 7.4, built on a host system of slackware-14.
> 
> All went well up until chapter 6. I am unsure as to whether or not the errors in the glibc fall into the acceptable variety or not.
> 
> glibc appeared to build well enough. Having tried the test suites (with TIMEOUTFACTOR=16 - this is a humble machine), the make - k check ends with:
> 
> AWK='gawk' scripts/check-local-headers.sh \
>   "/usr/include" "/source/glibc-build/" > /source/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 gshadow/gshadow.h iconv/iconv.h iconv/gconv.h inet/netinet/in.h inet/netinet/igmp.h inet/netinet/ip6.h inet/netinet/ether.h inet/netinet/icmp6.h inet/arpa/inet.h inet/arpa/telnet.h inet/arpa/tftp.h inet/arpa/ftp.h inet/protocols/routed.h inet/protocols/timed.h inet/protocols/rwhod.h inet/protocols/talkd.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/yp_prot.h nis/rpcsvc/nis_callback.h nis/rpcsvc/yp.h nis/rpcsvc/ypupd.h nis/rpcsvc/nislib.h nis/rpcsvc/nis_tags.h nis/rpcsvc/ypclnt.h nis/rpcsvc/nis.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_compat.h resolv/arpa/nameser.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/pmap_clnt.h sunrpc/rpc/xdr.h sunrpc/rpc/rpc_des.h sunrpc/rpc/auth_des.h sunrpc/rpc/pmap_rmt.h sunrpc/rpc/rpc.h sunrpc/rpc/auth.h sunrpc/rpc/key_prot.h sunrpc/rpc/netdb.h sunrpc/rpc/rpc_msg.h sunrpc/rpc/auth_unix.h sunrpc/rpc/pmap_prot.h sunrpc/rpc/svc.h sunrpc/rpc/clnt.h sunrpc/rpc/des_crypt.h sunrpc/rpc/types.h sunrpc/rpc/svc_auth.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 > /source/glibc-build/begin-end-check.out
> make[1]: Target `check' not remade because of errors.
> make[1]: Leaving directory `/source/glibc-2.18'
> 
> When I look for just the errors, using 'grep -i error glibc-check-log' I find:
> 

 If you had used the command in the book (grep Error) instead of
your own version you would have got a much shorter output.
> make[2]: *** [/source/glibc-build/rt/tst-cputimer1.out] Error 1
> make[1]: *** [rt/tests] Error 2
> make[2]: [/source/glibc-build/conform/run-conformtest.out] Error 1 (ignored)
> make: *** [check] Error 2
> 
> I have inferred from the book that 'cputimer1' and 'run-conformtest' might be 'acceptable' failures, but I was surprised that the test suite ended mid-way.
> 

 Why do you think it ended mid-way ?  Your output from the make
check command seems to end normally (I was going to cut it from the
reply, but I've left it for the moment) - my log ended similarly.

 Ah, you don't seem to have results from the posix/ tests.  For me
they are run (and fail as noted) before run-conformtest.out.

 If you look at glibc-check-log (try using less or vim from the host
system), does tst-getaddrinfo4 get mentioned ?  In my log the .c
file gets compiled to .o with a command which references the .o and
.o.dt before creating the .o, then gets linked to tst-getaddrinfo4
(by gcc), and then gets invoked in the next line to create
tst-getaddrinfo4.out.

 Do you have any of that in your log ?

> Have I done something stupid? Are these acceptable errors and I am worrying needlessly? Is there something more subtle that I should look for?
> 
> Any advice would be welcome.
> 
> I am also assuming that glibc is one of the packages that can safely be installed to a fake root - then tarballed 'slackware style'? (i.e: I am intending that my next step would be make DESTDIR=dest install), rather then installing directly.
> 

 For the first time, we recommend doing things by-the-book so that
you understand how it all fits together.  If you wish to try doing
things differently, please be aware that you *might* encounter
problems that other people don't.

 In the case of glibc, I can tell you that I was trying
DESTDIR-style pre-installs last year (for logging : install to a
DESTDIR, and use that to create the logs of what would be installed,
before doing the regular install) and I was doing that as a user in
chapter 5, which enabled me to find out that glibc didn't respect
DESTDIR but did respect INSTALLROOT.  Check the Makefile.

 The problem with doing DESTDIR-style installs as root is that if
the package doesn't respect DESTDIR then it WILL get installed for
real.

ĸen
-- 
das eine Mal als Tragödie, dieses Mal als Farce



More information about the lfs-support mailing list