Subject: bug#52752: closed (Re: bug#52752: guix build guix fails tests on i686)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 14 Jan 2022 21:45:02 +0000

Your bug report

#52752: guix build guix fails tests on i686

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
52752: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52752
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#52752: guix build guix fails tests on i686
From: Ludovic Courtès <[email-masked]>
To: Denis 'GNUtoo' Carikli <[email-masked]>
Cc: [email-masked]
Date: Fri, 14 Jan 2022 22:44:35 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Denis,

Denis 'GNUtoo' Carikli <[email-masked]> skribis:

[...]

> [...]
>> ;;; (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

According to vdso(7), what’s called “linux-vdso.so” on x86_64 and
several other architectures is called “linux-gate.so” on i386.

We don’t see this in the build farm because we perform i386 builds on
x86_64 machines (with an x86_64 kernel).

Anyway, fixed in e7ad192de008a6a21638def6eb973b9cc0c91116.

>> + 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 believe this one was fixed by
dc2b90109bbc86dc0124813007d4aa935371cc9c.

Note that we have yet to update the ‘guix’ package for these changes to
actually fix ‘guix build guix’.  We’ll do that soon.

Thanks,
Ludo’.

Subject: guix build guix fails tests on i686
From: Denis 'GNUtoo' Carikli <[email-masked]>
To: [email-masked]
Date: Thu, 23 Dec 2021 09:01:58 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

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.