Subject: “make check” requires network

From: Simon Tournier <[email-masked]>
Date: Wed, 29 Nov 2023 16:36:15 +0100

Hi,

Running ’make check’ without network leads to errors, for instance.

--8<---------------cut here---------------start------------->8---
$ ping ci.guix.gnu.org
ping: ci.guix.gnu.org: Name or service not known

$ make check TESTS="tests/derivations.scm"
make  check-recursive
make[1]: Entering directory '/home/simon/src/guix/guix'
Making check in po/guix
make[2]: Entering directory '/home/simon/src/guix/guix/po/guix'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/simon/src/guix/guix/po/guix'
Making check in po/packages
make[2]: Entering directory '/home/simon/src/guix/guix/po/packages'
make[2]: Nothing to be done for 'check'.
make[2]: Leaving directory '/home/simon/src/guix/guix/po/packages'
make[2]: Entering directory '/home/simon/src/guix/guix'
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
Compiling Scheme modules...
make  check-TESTS check-local
make[3]: Entering directory '/home/simon/src/guix/guix'
make[4]: Entering directory '/home/simon/src/guix/guix'
make[4]: *** [Makefile:6383: tests/derivations.log] Error 1
make[4]: Leaving directory '/home/simon/src/guix/guix'
make[3]: *** [Makefile:6365: check-TESTS] Error 2
make[3]: Leaving directory '/home/simon/src/guix/guix'
make[2]: *** [Makefile:6613: check-am] Error 2
make[2]: Leaving directory '/home/simon/src/guix/guix'
make[1]: *** [Makefile:6142: check-recursive] Error 1
make[1]: Leaving directory '/home/simon/src/guix/guix'
make: *** [Makefile:6615: check] Error 2
--8<---------------cut here---------------end--------------->8---

The log reads,

--8<---------------cut here---------------start------------->8---
$ cat tests/derivations.log
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!
building path(s) `/home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash'

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://alpha.gnu.org/gnu/guix/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From http://flashner.co.il/guix/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From http://lilypond.org/janneke/guix/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://bordeaux.guix.gnu.org/file/bash/sha256/0rjaxyzjdllfkf1abczvgaf3cdcc7mmahyvdbkjmjzhgz92pv23g...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://ci.guix.gnu.org/file/bash/sha256/0rjaxyzjdllfkf1abczvgaf3cdcc7mmahyvdbkjmjzhgz92pv23g...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://tarballs.nixos.org/sha256/0rjaxyzjdllfkf1abczvgaf3cdcc7mmahyvdbkjmjzhgz92pv23g...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://archive.softwareheritage.org/api/1/content/sha256:6f887d45fa0f7e59e55c6d7ba86a3d8c35369c7afbb3a5829b8ed226bfef4a66/raw/...
In procedure getaddrinfo: Name or service not known

Starting download of /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash
>From https://web.archive.org/web/20231129162840/https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e...
In procedure getaddrinfo: Name or service not known
Trying to use Disarchive to assemble /home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash...
In procedure getaddrinfo: Name or service not known
In procedure getaddrinfo: Name or service not known
could not find its Disarchive specification
failed to download "/home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash" from ("https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e" "https://alpha.gnu.org/gnu/guix/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e" "http://flashner.co.il/guix/bootstrap/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e" "http://lilypond.org/janneke/guix/i686-linux/bash?id=44f07d1dc6806e97c4e9ee3e6be883cc59dc666e")
builder for `/home/simon/src/guix/guix/test-tmp/store/xz62gfbjkib3jys0b96ffhq05bscp9vs-bash.drv' failed to produce output path `/home/simon/src/guix/guix/test-tmp/store/qkg9bx9adcv98n9z40dvw68mip3vg1dg-bash'
Backtrace:
           9 (primitive-load-path "tests/derivations.scm")
In ice-9/eval.scm:
   626:19  8 (_ #<directory (test-derivations) 7f62ddcd2d20>)
   293:34  7 (_ #(#(#<directory (test-derivations) 7f62ddcd2d20>) "bash"))
In ice-9/boot-9.scm:
  1752:10  6 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In guix/store.scm:
   659:37  5 (thunk)
  2168:25  4 (run-with-store #<store-connection 256.99 7f62d3b65c80> #<procedure 7f62bf2e54a0 at guix/tests.scm:…> …)
In guix/tests.scm:
   123:14  3 (_ _)
In guix/store.scm:
  2040:38  2 (_ #<store-connection 256.99 7f62d3b478c0>)
  1417:15  1 (_ #<store-connection 256.99 7f62d3b478c0> _ _)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
ERROR:
  1. &store-protocol-error:
      message: "build of `/home/simon/src/guix/guix/test-tmp/store/xz62gfbjkib3jys0b96ffhq05bscp9vs-bash.drv' failed"
      status: 1
--8<---------------cut here---------------end--------------->8---

That’s annoying because when working offline, I need to first run – at
least once – the test suite.  Well, it could be nice to either have:

 1. all the requirements provided by “guix shell -D guix”,

or

 2. some etc/manifest-for-tests.scm which would populate the store.

Cheers,
simon