GNU bug report logs - #46109
Failing tests (guix-pack, lint)

Previous Next

Package: guix;

Reported by: taxuswc <taxuswc <at> disroot.org>

Date: Mon, 25 Jan 2021 22:12:01 UTC

Severity: normal

To reply to this bug, email your comments to 46109 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#46109; Package guix. (Mon, 25 Jan 2021 22:12:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to taxuswc <taxuswc <at> disroot.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Mon, 25 Jan 2021 22:12:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: taxuswc <taxuswc <at> disroot.org>
To: bug-guix <at> gnu.org
Subject: Failing tests (guix-pack, lint)
Date: Mon, 25 Jan 2021 22:10:31 +0000
[Message part 1 (text/plain, inline)]
Hello,

I am building GNU Guix from the source on a foreign distro. Several 
tests fail:
1. tests/lint.scm.
2. tests/guix-pack.sh. Probably, tar is the root of the issue, as it 
refuses to create a hard link to /opt/gnu/bin.
3. When current directory has symlinks in its path, tests/guix-gc.sh 
fail because of the absence of path canonicalization in $PWD.
    Assuming ln -s ~/downloads ~/downloads-sl and insertion of echo 
instead of pipe at line 71, tests/guix-gc.sh yields

+ guix gc --list-roots
accepted connection from pid 911, user taxus
/home/taxus/downloads/distro/guix/guix-1.2.0/guix-gc-root
/home/taxus/downloads/distro/guix/guix-1.2.0/test-tmp/var/755/profiles
+ echo grep /home/taxus/downloads-sl/distro/guix/guix-1.2.0/guix-gc-root
grep /home/taxus/downloads-sl/distro/guix/guix-1.2.0/guix-gc-root

I am аttaching ./test-suite-failing.log for the #1 and #2 and providing 
the versions of the build requirements below:

- GNU tar: 1.33
- GNU make: 4.3
- GNU guix: 1.2.0,
- GNU Guile: 2.2.6
- guile-json: 4.3.2
- guile-gcrypt: 0.3.0
- gnutls: 3.7.0
- guile-sqlite3: 0.1.3
- guile-zlib: 0.0.1
- guile-lzlib: 0.0.1
- guile-avahi: 6d43caf64f672a9694bf6c98bbf7a734f17a51e8
- guile-git: 0.4.0

Also, tests/offload.scm tests brings down the entire test suite when 
guile-ssh is not installed (despite it being an optional dependency); 
attaching the corresponding logfile, too.

Thanks in advance,
   ~taxuswc



[test-suite-failing.log (text/x-log, attachment)]
[offload.log (text/x-log, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#46109; Package guix. (Tue, 26 Jan 2021 11:06:01 GMT) Full text and rfc822 format available.

Message #8 received at 46109 <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: taxuswc <taxuswc <at> disroot.org>, 46109 <at> debbugs.gnu.org
Subject: Re: bug#46109: Failing tests (guix-pack, lint)
Date: Tue, 26 Jan 2021 11:55:54 +0100
Hi,

On Mon, 25 Jan 2021 at 22:10, taxuswc--- via Bug reports for GNU Guix <bug-guix <at> gnu.org> wrote:

> I am building GNU Guix from the source on a foreign distro. Several 
> tests fail:

Which commit are you building using which commit version?

Did you do

   guix environment guix
   ./bootstrap
   ./configure --localstatedir=/var/
   make
   make check

?  Or something else?

Or are you trying to bootstrap Guix on foreign distro?


> FAIL: tests/lint
> ================

[...]


> test-name: archival: missing content
> location: /home/taxus/downloads/distro/guix/guix-1.2.0/tests/lint.scm:921
> source:
> + (test-assert
> +   "archival: missing content"
> +   (let* ((origin
> +            (origin
> +              (method url-fetch)
> +              (uri "http://example.org/foo.tgz")
> +              (sha256 (make-bytevector 32))))
> +          (warnings
> +            (with-http-server
> +              '((404 "Not archived."))
> +              (parameterize
> +                ((%swh-base-url (%local-url)))
> +                (check-archival
> +                  (dummy-package "x" (source origin)))))))
> +     (warning-contains? "not archived" warnings)))
> actual-value: #f
> actual-error:
> + (keyword-argument-error
> +   #<procedure http-request (uri #:key body port method version keep-alive? headers decode-body? streaming? request)>
> +   "Unrecognized keyword"
> +   ()
> +   (#:verify-certificate?))
> result: FAIL

Hum?!

[...]

> FAIL: tests/guix-pack
> =====================
>
> + guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)'
> + guix pack --version
> guix pack (GNU Guix) 1.2.0
> Copyright (C) 2020 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.

[...]

> + tar -xf /home/taxus/downloads/distro/guix/guix-1.2.0/test-tmp/store/az698s2v2q2qnc1ljrg4ypnjpb246x4c-tarball-pack.tar.xz
> tar: ./opt/gnu/bin: Cannot hard link to ‘./opt/gnu/bin’: No such file or directory
> tar: Exiting with failure status due to previous errors
> + chmod -Rf +w /tmp/tmp.QVmTayA5IX
> + rm -rf /tmp/tmp.QVmTayA5IX
> FAIL tests/guix-pack.sh (exit status: 2)
>
> Backtrace:
> In ice-9/boot-9.scm:
>   2887:24 19 (_)
>    222:17 18 (map1 (((guix scripts offload)) ((srfi srfi-64))))
>   2800:17 17 (resolve-interface (guix scripts offload) #:select _ # _ …)
> In ice-9/threads.scm:
>     390:8 16 (_ _)
> In ice-9/boot-9.scm:
>   2726:13 15 (_)
> In ice-9/threads.scm:
>     390:8 14 (_ _)
> In ice-9/boot-9.scm:
>   2994:20 13 (_)
>    2312:4 12 (save-module-excursion #<procedure 7f40c806d2a0 at ice-…>)
>   3014:26 11 (_)
> In unknown file:
>           10 (primitive-load-path "guix/scripts/offload" #<procedure…>)
> In ice-9/eval.scm:
>    721:20  9 (primitive-eval (define-module (guix scripts offload) …))
> In ice-9/psyntax.scm:
>   1262:36  8 (expand-top-sequence ((define-module (guix # #) # # …)) …)
>   1209:24  7 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
>    285:10  6 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) …)
> In ice-9/eval.scm:
>    293:34  5 (_ #<module (#{ g24}#) 7f40c8b980a0>)
> In ice-9/boot-9.scm:
>    2874:4  4 (define-module* _ #:filename _ #:pure _ #:version _ # _ …)
>   2887:24  3 (_)
>    222:17  2 (map1 (((ssh key)) ((ssh auth)) ((ssh session)) ((…)) …))
>    2803:6  1 (resolve-interface _ #:select _ #:hide _ #:prefix _ # _ …)
> In unknown file:
>            0 (scm-error misc-error #f "~A ~S" ("no code for modu…" …) …)
>
> ERROR: In procedure scm-error:
> no code for module (ssh key)

It seems a misconfiguration of your environment.


All the best,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#46109; Package guix. (Tue, 26 Jan 2021 14:48:01 GMT) Full text and rfc822 format available.

Message #11 received at 46109 <at> debbugs.gnu.org (full text, mbox):

From: taxuswc <taxuswc <at> disroot.org>
To: zimoun <zimon.toutoune <at> gmail.com>, 46109 <at> debbugs.gnu.org
Subject: Re: bug#46109: Failing tests (guix-pack, lint)
Date: Tue, 26 Jan 2021 13:03:13 +0000
Hello,

26.01.2021 10:55, zimoun wrote:
> On Mon, 25 Jan 2021 at 22:10, taxuswc--- via Bug reports for GNU Guix <bug-guix <at> gnu.org> wrote:
> 
>> I am building GNU Guix from the source on a foreign distro. Several
>> tests fail:
> 
> Which commit are you building using which commit version?

Оfficial source tarball from https://guix.gnu.org/en/download/, probably 
v1.2.0 (d5b556eef57321d0be89fdb07db447b2db2718ed)


> Did you do
> 
>     guix environment guix
>     ./bootstrap
>     ./configure --localstatedir=/var/
>     make
>     make check
> 
> ?  Or something else?
> Or are you trying to bootstrap Guix on foreign distro?

Basically the same steps only without --localstatedir (it seems to 
default to /var) and guix environment stuff, as guix is not installed in 
the system yet.

I have installed the prerequisites manually or from a foreign distro 
package manager, so to my mind it probably does not count as 
``bootstrapping''.

>> FAIL: tests/lint
>> ================
> 
> [...]
> 
> 
>> test-name: archival: missing content
>> location: /home/taxus/downloads/distro/guix/guix-1.2.0/tests/lint.scm:921
>> source:
>> + (test-assert
>> +   "archival: missing content"
>> +   (let* ((origin
>> +            (origin
>> +              (method url-fetch)
>> +              (uri "http://example.org/foo.tgz")
>> +              (sha256 (make-bytevector 32))))
>> +          (warnings
>> +            (with-http-server
>> +              '((404 "Not archived."))
>> +              (parameterize
>> +                ((%swh-base-url (%local-url)))
>> +                (check-archival
>> +                  (dummy-package "x" (source origin)))))))
>> +     (warning-contains? "not archived" warnings)))
>> actual-value: #f
>> actual-error:
>> + (keyword-argument-error
>> +   #<procedure http-request (uri #:key body port method version keep-alive? headers decode-body? streaming? request)>
>> +   "Unrecognized keyword"
>> +   ()
>> +   (#:verify-certificate?))
>> result: FAIL
> 
> Hum?!

I got guile from the foreign distro package manager, so it was an 
obvious suspect, but upon inspection [1] it is just vanilla guile 2.2.6 
without any distro-specific patches.

[1] 
https://gitea.artixlinux.org/artixlinux/packages/src/branch/master/guile/repos/extra-x86_64/PKGBUILD

Could you please clarify which additional info can I provide to identify 
the root of the issue? Maybe, should I try building with guile 3.x?


> [...]
> 
>> FAIL: tests/guix-pack
>> =====================
>>
>> + guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)'
>> + guix pack --version
>> guix pack (GNU Guix) 1.2.0
>> Copyright (C) 2020 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.
> 
> [...]
> 
>> + tar -xf /home/taxus/downloads/distro/guix/guix-1.2.0/test-tmp/store/az698s2v2q2qnc1ljrg4ypnjpb246x4c-tarball-pack.tar.xz
>> tar: ./opt/gnu/bin: Cannot hard link to ‘./opt/gnu/bin’: No such file or directory
>> tar: Exiting with failure status due to previous errors
>> + chmod -Rf +w /tmp/tmp.QVmTayA5IX
>> + rm -rf /tmp/tmp.QVmTayA5IX
>> FAIL tests/guix-pack.sh (exit status: 2)

Well, the problem is not with tar as I previously assumed.
	
	guix pack --bootstrap -S /opt/gnu/bin=bin guile-bootstrap

creates the following tarball
	
	$ tar -tvf "$the_pack" | grep '/opt/'

	drwxr-xr-x root/root         0 1970-01-01 03:00 ./opt/gnu/
	lrwxrwxrwx root/root         0 1970-01-01 03:00 ./opt/gnu/bin -> 
../../home/taxus/downloads/distro/guix/guix-1.2.0/test-tmp/store/w67kdqf2ghkkxp6spdyvfvvhiqqk3g76-profile/bin
	hrwxrwxrwx root/root         0 1970-01-01 03:00 ./opt/gnu/bin link to 
./opt/gnu/bin

I can hardly understand how the last line can be correct in any setup.
An attempt to unpack the tarball quite expectedly results in

	tar: ./opt/gnu/bin: Cannot hard link to './opt/gnu/bin': No such file 
or directory

as the hardlink creation erases the file it wants to reference in the 
first place..

>>
>> Backtrace:
>> In ice-9/boot-9.scm:
>> [...]
>> ERROR: In procedure scm-error:
>> no code for module (ssh key)
> 
> It seems a misconfiguration of your environment.

It is likely the case, however, I would like to setup offloading once 
guix is working, so for now I have commented out the test in question to 
get any sort of report.

Thanks for the reply!

All the best,
	~taxuswc







This bug report was last modified 3 years and 90 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.