[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

 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

das eine Mal als Tragödie, dieses Mal als Farce

More information about the lfs-support mailing list