On Tue, May 19, 2020 at 03:16:51AM +0100, Ken Moffat via lfs-dev wrote: > > But now I'm running in chroot I'm looking at each testsuite in the > hope that I can get everything to complete (brief note - glibc no > failures on my haswell).
And now, the full results of the testsuites - a couple of these seem to have failures that I'm the only one seeing, or maybe everyone else has just learned to keep quiet about failures ;-) This build is nominally LFS from 20200513, on my i7 haswell. Unfortunately, it is long. Where we have noted problems with testsuites, I've tried to see if they can be made to work. Unfortunately, I did not always succeed. If we say there is no testsuite, I accepted that. Also, these are normally with my own CFLAGS,CXXFLAGS and hardening: -O3 -march=native -D_FORTIFY_SOURCE=2 -fstack-protector-strong -D_GLIBCXX_ASSERTIONS although where I was still getting failures (e.g. util-linux) I also tried without those, but no difference. I suppose I'd better note that I seem to have been running a 5.7-rc2 kernel while doing at least the latter of these (accidentally rebooted when waking up from suspend) dejagnu-1.6.2 (chapter 5) - ok glibc-2.31 (my host system was LFS-svn-20200307) - no failures I see we claim that misc/tst-ttyname and net/tst-idna_name_classify "are known to fail in the LFS chroot environment" which I interpret as "are expected to fail". If so, progress. zlib-1.2.11 - ok xz-5.2.5 - ok file-5.38 - ok m4-1.4.18 - ok bc-2.7.2 - ok binutils-2.34 - no reported failures, but the tests ended in error, so here are the details: === binutils Summary === # of expected passes 267 # of unsupported tests 2 Testsuite summary for gold 0.1 ============================================================================ # TOTAL: 4 # PASS: 4 # SKIP: 0 # XFAIL: 0 # FAIL: 0 # XPASS: 0 # ERROR: 0 ============================================================================ === gas Summary === # of expected passes 1358 === ld Summary === # of expected passes 2409 # of expected failures 57 # of untested testcases 1 # of unsupported tests 39 I see there have been comments about gold - all my gold tests claim to have passed. gmp-6.2.0 - ok mpfr-4.0.2 - ok mpc-1.1.0 - ok attr-2.4.48 - ok libcap-2.34 - ok gcc-10.1.0 (from the summary, similar to the last few releases) === gcc tests === Running target unix FAIL: gcc.c-torture/compile/limits-exprparen.c -O0 (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O0 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O1 (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O1 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -g (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O3 -g (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -Os (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -Os (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (test for excess errors) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (internal compiler error) FAIL: gcc.c-torture/compile/limits-exprparen.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects (test for excess errors) === gcc Summary === # of expected passes 149088 # of unexpected failures 14 === libstdc++ tests === Running target unix FAIL: 20_util/unsynchronized_pool_resource/allocate.cc execution test FAIL: 22_locale/time_get/get_time/char/2.cc execution test FAIL: 22_locale/time_get/get_time/char/wrapped_env.cc execution test FAIL: 22_locale/time_get/get_time/char/wrapped_locale.cc execution test FAIL: 22_locale/time_get/get_time/wchar_t/2.cc execution test FAIL: 22_locale/time_get/get_time/wchar_t/wrapped_env.cc execution test FAIL: 22_locale/time_get/get_time/wchar_t/wrapped_locale.cc execution test FAIL: experimental/net/internet/resolver/ops/lookup.cc execution test === libstdc++ Summary === # of expected passes 14097 # of unexpected failures 8 pkg-config-0.29.2 - ok ncurses-6.22 - I agree the testsuite can only be run after installing, but it doesn't see particularly useful (the tests need to be individually invoked, and they don't produce any obvious pass or fail output - some give coloured outputs, others ran for longer than my patience and were terminated with prejudice). sed-4.8 - (See my post from 19 May) The testsuite.panic-tests.sh fails because of running the tests as root. Chowning the build tree and running as nobody, that passes. Added to my mental todo list. gettext-0.20.2 - ok bison-3.6 - ok. I saw that 3.6.1 and then 3.6.2 had been released, apparently related to test failures on some platforms, so I also tested those, with the same successes. In the book we say 'Fourteen tests fail in the "Diagnostics" section, probably because of missing locales.' so as Pierre suggested, this cross-chap5 approach does work here. flex-2.6.4 - ok grep-3.4 - ok bash-5.0 - Inconclusive, /dev/tty errors, and run-trap reports a series of signal errors - 7d6 < trap -- '' SIGFPE 17d15 < trap -- '' SIGFPE [clipped] For the /dev/tty errors, I think Pierre has now got to the bottom of the problem! libtool-2.4.6 - 5 unexpected failures, as the book says, when the test is run here. gdbm-1.18.1 - ok gperf-3.1 - ok expat-2.2.9 - ok inetutils-1.9.14 The book says: One test, libls.sh, may fail in the initial chroot environment but will pass if the test is rerun after the LFS system is complete. One test, ping-localhost.sh, will fail if the host system does not have ipv6 capability. My machine has the ipv6 options compiled in to its kernel. Previously I've had '|| true' after running the tests for this package, which is a PITA because I never notice when results change. So, for the first time I ran manually and everything passed. Removed '|| true', ran the script, exited bacause libls.sh failed. Reinstated '|| true', but this time libls.sh passed anyway. I conclude that libls.sh randomly fails and the book should say something like 'libls.sh may randomly fail for unknown reasons'. perl-5.30.2 - ok XML::Parser-2.46 - ok intltool-0.51.0 - ok autoconf-2.69 - "The test suite is currently broken by bash-5 and libtool-2.4.3" Well, we are now on a later libtool, but yes, it is still very broken. automake-1.16.2 - I suggested a sed to replicate an upstream commit which causes tags-lisp-space.sh to be skipped if etags is not present. Bruce has suggested a better sed, I have not yet got around to that. Anyway, by fixing that, all tests pass. libtool-2.4.6, tests after automake - ok libelf (elfutils-0.179) - this is one of those packages where I normally expect several test failures because I remove -g from the CFLAGS. That often means I don't notice different failures. On this occasion I added -g to my CFLAGS. No failures. The book says: "One test, run-elfclassify.sh, is known to fail." but for me it PASSed. Again, maybe a benefit from this approach. libffi-3.3 - The book says "Six tests, all related to test-callback.c, are known to fail." but all were ok : === libffi Summary === # of expected passes 2284 openssl-1.1.1g - ok Python-3.8.3 (I upgraded to this). As the book says, test_normalization failed because it needs the network to be configured so that it can retrieve a file. ninja-1.10.0 - ok coreutils-8.32 - ok acl-2.2.53 (after coreutils) - I get failures in FAIL: test/root/permissions.test FAIL: test/root/setfacl.test The latter is obviously because I don't mount with the acl option, but I now wonder if the first one might be failing because it is run as root. I don't know, and to be honest I don't care about this package. check-0.14.0 - For several years I've had two failures here, check_check_export and check_check. I've now had a suggestion from upstream that on my machines sigfpe is not being returned. See also my comments on the bash tests. No idea why my builds are so different from everyone else's. I mean, these tests do pass for you guys, don't they ? diffutils-3.7.0 - ok gawk-5.1.0 - ok findutils-4.7.0 - "Two tests are known to fail in the chroot environment: sv-bug-54171.old-O3 and sv-bug-54171.new-O3." In fact, that is another reason not to run tests as root! Chowning the build tree to nobody and running as that user, all tests pass. I guess I also need to commit that to trunk. gzip-1.10 - ok iproute2-5.6.0 - We say: This package does not have a working test suite. I do not yet have a view on whether or not that is correct. It certainly requires libmna, so I have installed that on this build (but won't be installing it in the future), but then it failed because sudo was missing. It wanted sudo to run 'rmmod'! I think we should say (assuming that the tests can work in a completed system - to be proved), "The test suite SHOULD NOT be run in chroot, so we do not provide the dependencies it requires." Not quite sure about the wording, but I think RFC 2119 sums it up. kbd-2.2.0 - ok libpipeline-1.5.2 - ok make-4.3 - ok patch-2.7.6 - ok man-db-2.9.1 - ok The failure in man-missing-locales no longer happens with this approach. tar-1.32 - ok texinfo-6.7 - ok vim-8.2.0716 - ok (after my issues mentioned on support: in my case I need to pass TERM=linux when I'm running the tests on a graphical term where the dafault setting is not usable with vim once that has been installed) eudev-3.2.9 - ok procps-ng-3.3.16 - I removed the sed to disable failing tests, all passed so another improvement. util-linux-2.35.1 - This had me tearing my hair out, and trying 2.35.2 (same results), but I can't get past 3 failures - ipcs: mk-rm-msg ... FAILED (ipcs/mk-rm-msg) ipcs: mk-rm-sem ... FAILED (ipcs/mk-rm-sem) ipcs: mk-rm-shm ... FAILED (ipcs/mk-rm-shm) I've given up on this one, it had a different failure with gcc-9 (column: invalid multibyte) but the tests themselves have not changed since last August. I did wonder if using my own CFLAGS and CXXFLAGS might be the cause, but a manual build without setting those gave the same failures. e2fsprogs-1.45.6 - ok Conclusion: I don't like building the *temporary* chroot items in the same chapter as the the non-chroot items, but the new approach is a lot cleaner, and also educational (e.g. DESTDIR installs). I commend this approach to everyone, and hope that we will move to a variant of it (e.g. a separate chapter for the temporary build in chroot, so that we end up with an extra chapter). And my congratulations to Pierre for taking the time to come up with this. ĸen -- Do you not know that, what you belittle by the name tree is but the mere four-dimensional analogue of a whole multidimensional universe which - no, I can see you do not. -- Druellae (a Dryad) -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page