Subject: guix build guix fails tests on i686

From: Denis 'GNUtoo' Carikli <[email-masked]>
Date: Thu, 23 Dec 2021 09:01:58 +0100

Hi,

I tried to build guix with the following command
(GUILE_LOAD_COMPILED_PATH is to workaround another issue that I also
bugreported):
> GUILE_LOAD_COMPILED_PATH="" guix build -M 1 -c 1 guix

And I have done guix pull very recently:
> $ GUILE_LOAD_COMPILED_PATH="" guix describe
> Generation 17	Dec 23 2021 02:33:28	(current)
>   guix 867c33d
>     repository URL: https://git.savannah.gnu.org/git/guix.git
>     branch: master
>     commit: 867c33d3d76b473b4d30dcc8a01b0f770a397146

But the tests fail:
> make  check-TESTS check-local
> make[3]: Entering directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' make[4]:
> Entering directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' PASS:
> tests/accounts.scm PASS: tests/base16.scm PASS: tests/base32.scm
> PASS: tests/base64.scm
> PASS: tests/boot-parameters.scm
> PASS: tests/bournish.scm
> SKIP: tests/builders.scm
> PASS: tests/build-utils.scm
> PASS: tests/cache.scm
> PASS: tests/challenge.scm
> SKIP: tests/channels.scm
> PASS: tests/combinators.scm
> SKIP: tests/containers.scm
> PASS: tests/cpan.scm
> SKIP: tests/cpio.scm
> PASS: tests/cran.scm
> SKIP: tests/crate.scm
> PASS: tests/cve.scm
> SKIP: tests/debug-link.scm
> SKIP: tests/derivations.scm
> PASS: tests/discovery.scm
> PASS: tests/egg.scm
> PASS: tests/elpa.scm
> PASS: tests/file-systems.scm
> PASS: tests/gem.scm
> PASS: tests/gexp.scm
> SKIP: tests/git.scm
> SKIP: tests/git-authenticate.scm
> PASS: tests/glob.scm
> PASS: tests/gnu-maintenance.scm
> PASS: tests/grafts.scm
> PASS: tests/graph.scm
> FAIL: tests/gremlin.scm
> SKIP: tests/hackage.scm
> PASS: tests/home-import.scm
> SKIP: tests/import-git.scm
> PASS: tests/import-utils.scm
> SKIP: tests/inferior.scm
> PASS: tests/lint.scm
> PASS: tests/minetest.scm
> PASS: tests/modules.scm
> PASS: tests/monads.scm
> PASS: tests/nar.scm
> PASS: tests/networking.scm
> PASS: tests/opam.scm
> PASS: tests/openpgp.scm
> SKIP: tests/packages.scm
> SKIP: tests/pack.scm
> PASS: tests/pki.scm
> PASS: tests/print.scm
> PASS: tests/processes.scm
> SKIP: tests/profiles.scm
> PASS: tests/publish.scm
> SKIP: tests/pypi.scm
> PASS: tests/records.scm
> PASS: tests/scripts.scm
> PASS: tests/search-paths.scm
> PASS: tests/services.scm
> PASS: tests/services/file-sharing.scm
> PASS: tests/services/linux.scm
> PASS: tests/services/telephony.scm
> PASS: tests/sets.scm
> PASS: tests/size.scm
> PASS: tests/status.scm
> PASS: tests/store-database.scm
> PASS: tests/store-deduplication.scm
> PASS: tests/store-roots.scm
> PASS: tests/store.scm
> PASS: tests/substitute.scm
> PASS: tests/swh.scm
> SKIP: tests/syscalls.scm
> PASS: tests/system.scm
> PASS: tests/style.scm
> PASS: tests/texlive.scm
> PASS: tests/transformations.scm
> PASS: tests/ui.scm
> SKIP: tests/union.scm
> SKIP: tests/upstream.scm
> PASS: tests/utils.scm
> PASS: tests/uuid.scm
> PASS: tests/workers.scm
> PASS: tests/go.scm
> PASS: tests/guix-build.sh
> SKIP: tests/guix-build-branch.sh
> PASS: tests/guix-download.sh
> SKIP: tests/guix-git-authenticate.sh
> PASS: tests/guix-hash.sh
> SKIP: tests/guix-pack.sh
> SKIP: tests/guix-pack-localstatedir.sh
> SKIP: tests/guix-pack-relocatable.sh
> PASS: tests/guix-package.sh
> PASS: tests/guix-package-aliases.sh
> SKIP: tests/guix-package-net.sh
> FAIL: tests/guix-system.sh
> SKIP: tests/guix-home.sh
> PASS: tests/guix-archive.sh
> PASS: tests/guix-authenticate.sh
> PASS: tests/guix-environment.sh
> SKIP: tests/guix-environment-container.sh
> PASS: tests/guix-shell.sh
> PASS: tests/guix-graph.sh
> SKIP: tests/guix-describe.sh
> PASS: tests/guix-repl.sh
> PASS: tests/guix-lint.sh
> PASS: tests/guix-gc.sh
> PASS: tests/guix-daemon.sh
> ============================================================================
> Testsuite summary for GNU Guix 1.3.0-16.10ceb3e
> ============================================================================
> # TOTAL: 2075
> # PASS:  1968
> # SKIP:  104
> # XFAIL: 1
> # FAIL:  2
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See ./test-suite.log
> Please report to [email-masked]
> ============================================================================
> make[4]: *** [Makefile:6408: test-suite.log] Error 1
> make[4]: Leaving directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' make[3]: ***
> [Makefile:6516: check-TESTS] Error 2 make[3]: Leaving directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' make[2]: ***
> [Makefile:6765: check-am] Error 2 make[2]: Leaving directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' make[1]: ***
> [Makefile:6293: check-recursive] Error 1 make[1]: Leaving directory
> '/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source' make: ***
> [Makefile:6767: check] Error 2
> 
> Test suite failed, dumping logs.
> 
> --- ./test-suite.log
> --------------------------------------------------------
> 
> =================================================
>    GNU Guix 1.3.0-16.10ceb3e: ./test-suite.log
> =================================================
> 
> # TOTAL: 2075
> # PASS:  1968
> # SKIP:  104
> # XFAIL: 1
> # FAIL:  2
> # XPASS: 0
> # ERROR: 0
[...]
> ;;; (truth ("linux-gate.so.1"
> "/gnu/store/g64a68qy52ca2jsxh83s77f9bapja3bh-guile-3.0.7/lib/libguile-3.0.so.1"
> "/gnu/store/5vvazsd8rh0wlinglskwkr7071lh0gb9-libgc-8.0.4/lib/libgc.so.1"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libpthread.so.0"
> "/gnu/store/srz34zllfncr9iap93p8j1s8pj3rzy8n-libffi-3.3/lib/libffi.so.7"
> "/gnu/store/1kfjmskgg1623zyw2836cl5kb6s40mpn-libunistring-0.9.10/lib/libunistring.so.2"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libcrypt.so.1"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libdl.so.2"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libm.so.6"
> "/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/libgcc_s.so.1"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libc.so.6"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/ld-linux.so.2"))
> 
> ;;; (needed
> ("/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libc.so.6"
> "/gnu/store/4vafjcwi9vlks5y67naf9gdia9l42pfz-gcc-10.3.0-lib/lib/libgcc_s.so.1"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libm.so.6"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libdl.so.2"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libcrypt.so.1"
> "/gnu/store/1kfjmskgg1623zyw2836cl5kb6s40mpn-libunistring-0.9.10/lib/libunistring.so.2"
> "/gnu/store/srz34zllfncr9iap93p8j1s8pj3rzy8n-libffi-3.3/lib/libffi.so.7"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/libpthread.so.0"
> "/gnu/store/5vvazsd8rh0wlinglskwkr7071lh0gb9-libgc-8.0.4/lib/libgc.so.1"
> "/gnu/store/g64a68qy52ca2jsxh83s77f9bapja3bh-guile-3.0.7/lib/libguile-3.0.so.1"
> "/gnu/store/mjdjgiz9k5rrbj440r16z6p5g33nr7d7-glibc-2.33/lib/ld-linux.so.2"))
> test-name: file-needed/recursive location:
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source/tests/gremlin.scm:70
> source:
> + (test-assert
> +   "file-needed/recursive"
> +   (let* ((needed
> +            (file-needed/recursive %guile-executable))
> +          (pipe (dynamic-wind
> +                  (lambda ()
> +                    (setenv "LD_TRACE_LOADED_OBJECTS" "yup"))
> +                  (lambda ()
> +                    (open-pipe* OPEN_READ %guile-executable))
> +                  (lambda () (unsetenv "LD_TRACE_LOADED_OBJECTS")))))
> +     (define ldd-rx
> +       (make-regexp
> +         "^[[:blank:]]+([[:graph:]]+ => )?([[:graph:]]+) .*$"))
> +     (define (read-ldd-output port)
> +       (let loop ((result '()))
> +         (match (read-line port)
> +                ((? eof-object?) (reverse result))
> +                ((= (cut regexp-exec ldd-rx <>) m)
> +                 (if m
> +                   (loop (cons (match:substring m 2) result))
> +                   (loop result))))))
> +     (define ground-truth
> +       (remove
> +         (cut string-prefix? "linux-vdso.so" <>)
> +         (read-ldd-output pipe)))
> +     (and (zero? (close-pipe pipe))
> +          (lset= string=?
> +                 (pk 'truth ground-truth)
> +                 (pk 'needed needed)))))
> actual-value: #f
> result: FAIL
[...]
> ;;; (fail #f #f)
> test-name: hackage->guix-package test mixed layout
> location:
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/source/tests/hackage.scm:284
> source:
> + (test-assert
> +   "hackage->guix-package test mixed layout"
> +   (eval-test-with-cabal
> +     test-cabal-mixed-layout
> +     match-ghc-foo))
> actual-value: #f
> result: XFAIL
[...]
> FAIL: tests/guix-system
> =======================
> 
> accepted connection from pid 11528, user nixbld
> + set -e
> + guix system --version
> guix system (GNU Guix) 1.3.0-16.10ceb3e
> Copyright (C) 2021 the Guix authors
> License GPLv3+: GNU GPL version 3 or later
> <http://gnu.org/licenses/gpl.html> This is free software: you are free
> to change and redistribute it. There is NO WARRANTY, to the extent
> permitted by law.
> + tmpfile=t-guix-system-11536
> + errorfile=t-guix-system-error-11536
> +
> tmpdir=/tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/t-guix-system-11536
> + mkdir
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/t-guix-system-11536
> + trap 'rm -f "$tmpfile" "$errorfile" "$tmpdir"/*; rmdir "$tmpdir"'
> EXIT
> + cat
> + guix system vm t-guix-system-11536
> + cat t-guix-system-error-11536
> t-guix-system-11536:2:3: error: (operating-system): missing field
> initializers (bootloader host-name file-systems timezone)
> + grep 't-guix-system-11536:2:3:.*missing.* initializers'
> t-guix-system-error-11536 t-guix-system-11536:2:3: error:
> (operating-system): missing field initializers (bootloader host-name
> file-systems timezone)
> + cat
> + guix system vm t-guix-system-11536
> + cat t-guix-system-error-11536
> t-guix-system-11536:4:1: missing closing parenthesis
> + grep 't-guix-system-11536:4:1: missing closing paren'
> t-guix-system-error-11536 t-guix-system-11536:4:1: missing closing
> parenthesis
> + cat
> + guix system build t-guix-system-11536 -n
> + grep 't-guix-system-11536:3:2: .*module .*openssh.*not found'
> t-guix-system-error-11536 t-guix-system-11536:3:2: error: module (gnu
> services openssh) not found
> + grep 'Try.*use-service-modules ssh' t-guix-system-error-11536
> hint: Try adding `(use-service-modules ssh)'.
> + cat
> + guix system build t-guix-system-11536 -n
> + grep 't-guix-system-11536:3:2: .*module .*qemu.*not found'
> t-guix-system-error-11536 t-guix-system-11536:3:2: error: module (gnu
> packages qemu) not found
> + grep 'Try.*use-package-modules virtualization'
> t-guix-system-error-11536 hint: Try adding `(use-package-modules
> virtualization)'.
> + cat
> + guix system build t-guix-system-11536 -n
> ++ guile -c '(display (effective-version))'
> + test 3.0 = 3.0
> + grep 't-guix-system-11536:[0-9]\+:[0-9]\+:.*GRUB-config.*[Uu]nbound
> variable' t-guix-system-error-11536 t-guix-system-11536:9:15: error:
> GRUB-config: unbound variable
> + cat
> + guix system build t-guix-system-11536 -n
> + grep 't-guix-system-11536:3:[0-9]\+:.*%base-file-system.*invalid
> field specifier' t-guix-system-error-11536 t-guix-system-11536:3:0:
> error: %base-file-systems: invalid field specifier
> + OS_BASE='
>   (host-name "antelope")
>   (timezone "Europe/Paris")
>   (locale "en_US.UTF-8")
> 
>   (bootloader (bootloader-configuration
>                (bootloader grub-bootloader)
>                (targets (list "/dev/sdX"))))
>   (file-systems (cons (file-system
>                         (device (file-system-label "root"))
>                         (mount-point "/")
>                         (type "ext4"))
>                       %base-file-systems))
> '
> + cat
> + guix system vm t-guix-system-11536
> accepted connection from pid 11587, user nixbld
> + grep 'service '\''networking'\''.*more than once'
>   t-guix-system-error-11536 guix system: error: service 'networking'
>   provided more than once
> + cat
> + guix system build t-guix-system-11536
> accepted connection from pid 11594, user nixbld
> + grep 'service '\''buggy!'\''.*'\''does-not-exist'\''.*not provided'
>   t-guix-system-error-11536 guix system: error: service 'buggy!'
>   requires 'does-not-exist', which is not provided by any service
> + make_user_config users wheel
> + cat
> + guix system build t-guix-system-11536 -n
> accepted connection from pid 11601, user nixbld
> substitute: guix substitute: warning: ACL for archive imports seems to
>   be uninitialized, substitutes may be unavailable substitute: guix
>   substitute: warning: authentication and authorization of substitutes
>   disabled! The following derivations would be built:
[some very long content with mutilpe times messages about derivatins
having to be built]
>    /tmp/guix-tests/store/m5cw9sfv6phbx9k3idg2mbbg48qi4gz1-autoconf-2.71.drv
>    /tmp/guix-tests/store/4g4rsrhk6crmqbr4bb38fdih156g46yx-autoconf-2.71.tar.xz.drv
>    /tmp/guix-tests/store/jgmx7r2r45zn15ipwfiv43yxcqdsgxnm-partition.img.drv
> 
> guix system: warning: only 3.0 GiB of free space available on
> /tmp/guix-tests/store hint: Consider deleting old profile generations
> and collecting garbage, along these lines:
> 
>      guix gc --delete-generations=1m
> 
> + for example in gnu/system/examples/*.tmpl
> + echo gnu/system/examples/desktop.tmpl
> + grep hurd
> + target=
> + guix system -n disk-image gnu/system/examples/desktop.tmpl
> accepted connection from pid 11777, user nixbld
> guix system: warning: 'disk-image' is deprecated: use 'image' instead
> guix system: error: service 'xorg-server' provided more than once
> + rm -f t-guix-system-11536 t-guix-system-error-11536
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/t-guix-system-11536/config.scm
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/t-guix-system-11536/my-torrc
> + rmdir
> /tmp/guix-build-guix-1.3.0-16.10ceb3e.drv-0/t-guix-system-11536 FAIL
> tests/guix-system.sh (exit status: 1)

I've also attached the error log.

Denis.