From: Chris Marusich <cmmarusich@gmail.com>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: Problems running 'check-system'
Date: Sun, 07 May 2017 23:20:16 -0700 [thread overview]
Message-ID: <87r2zzc1jz.fsf@gmail.com> (raw)
In-Reply-To: 87wp9v8ez3.fsf@gnu.org
[-- Attachment #1: Type: text/plain, Size: 4610 bytes --]
Hi Ludo,
ludo@gnu.org (Ludovic Courtès) writes:
> Hi Chris,
>
> Chris Marusich <cmmarusich@gmail.com> skribis:
>
>> ludo@gnu.org (Ludovic Courtès) writes:
>
> [...]
>
>>>> Issue #2: even when I run 'make' first, the test fails. It fails with
>>>> this message:
>>>>
>>>> [... some output omitted for brevity ...]
>>>>
>>>> starting phase `copy-bootstrap-guile'
>>>> Backtrace:
>>>> In ice-9/boot-9.scm:
>>>> 160: 13 [catch #t #<catch-closure 8c5dc0> ...]
>>>> In unknown file:
>>>> ?: 12 [apply-smob/1 #<catch-closure 8c5dc0>]
>>>> In ice-9/boot-9.scm:
>>>> 66: 11 [call-with-prompt prompt0 ...]
>>>> In ice-9/eval.scm:
>>>> 432: 10 [eval # #]
>>>> In ice-9/boot-9.scm:
>>>> 2412: 9 [save-module-excursion #<procedure 8e6840 at ice-9/boot-9.scm:4084:3 ()>]
>>>> 4089: 8 [#<procedure 8e6840 at ice-9/boot-9.scm:4084:3 ()>]
>>>> 1734: 7 [%start-stack load-stack #<procedure 8f6e20 at ice-9/boot-9.scm:4080:10 ()>]
>>>> 1739: 6 [#<procedure 8f8960 ()>]
>>>> In unknown file:
>>>> ?: 5 [primitive-load "/gnu/store/wgh83kqjif20wfdg56iz7bxk9d4xmlk0-guix-0.12.0-9.25a4+-guile-builder"]
>>>> In ice-9/eval.scm:
>>>> 387: 4 [eval # ()]
>>>> In srfi/srfi-1.scm:
>>>> 827: 3 [every1 #<procedure f9fa40 at /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9 (expr)> ...]
>>>> In /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:
>>>> 653: 2 [#<procedure f9fa40 at /gnu/store/a42pfdz8w5qxdkp6xz8783ydywmp0p8p-module-import/guix/build/gnu-build-system.scm:649:9 (expr)> #]
>>>> In ice-9/eval.scm:
>>>> 432: 1 [eval # #]
>>>> In unknown file:
>>>> ?: 0 [copy-file "/gnu/store/dgncc5wmw8prxq09y71hqjc6g7rxqvvb-guile-2.0.9.tar.xz" ...]
>>>>
>>>> ERROR: In procedure copy-file:
>>>> ERROR: In procedure copy-file: Permission denied
>>>
>>> What this means is that the target of ‘copy-file’ is read-only.
>>
>> Why is this test is trying to copy a file into a read-only target? I've
>> tried debugging this myself by inserting pk statements in the relevant
>> code, but the long iteration time makes it difficult.
>
> This is coming from the ‘copy-bootstrap-guile’ phase of the ‘guix’
> package, which happens before ‘configure’.
>
> I wonder why you’re seeing that happening. Does “./pre-inst-env guix
> build guix” fail as well?
No, it doesn't fail. When I tried this, I needed to invoke it with
--check, and the build failed due to non-determinism, but the actual
build and check phases succeeded (I ran this on my GuixSD machine).
> And I don’t why we’re getting different results here.
I think I might have finally found the reason. When I remove the
"--pure" from the invocation, the "installed-os" test runs successfully
on my GuixSD machine. It seems that, for some reason, "--pure" was the
cause of the failure. That's surprising to me, since my expectation was
that Guix's tests should work just fine in a pure environment. Could
this be a bug?
This surprising behavior is not limited to my single GuixSD system.
I've tried running the same invocation on my Ubuntu machine, and it
fails with the same "ERROR: In procedure copy-file: Permission denied"
message. So I think you ought to be able to reproduce it, too, as long
as you use the same invocation (and the same commit:
4aabc8eaa22314b412d8c5517e05085aa1b38498). Curiously, on my Ubuntu
system, when I remove "--pure", the "copy-file" error does NOT occur.
(The "installed-os" test fails anyway due to KVM issues because I
haven't set up KVM properly on my Ubuntu machine yet, but that's not
relevant to this discussion.)
To summarize, on my GuixSD system, the "copy-file" error occurs when I
run:
guix environment --pure guix -- make check-system TESTS=installed-os
On my GuixSD system, it also occurs when I run:
guix environment --pure guix
followed by (in the environment):
make check-system TESTS=installed-os
However, on my Ubuntu system, the "copy-file" error only occurs when I
run:
guix environment --pure guix -- make check-system TESTS=installed-os
On my Ubuntu system, it does NOT occur when I run:
guix environment --pure guix
followed by (in the environment):
make check-system TESTS=installed-os
In conclusion, I can now run the tests, which is great. However, I'm
surprised that "--pure" was causing the "copy-file" error. I'm also
unable to explain the difference in behavior between GuixSD and Ubuntu
when using "--pure". Could this be a bug?
--
Chris
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next prev parent reply other threads:[~2017-05-08 6:20 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-02 5:36 Problems running 'check-system' Chris Marusich
2017-05-02 13:56 ` Ludovic Courtès
2017-05-04 8:27 ` Chris Marusich
2017-05-05 16:07 ` Ludovic Courtès
2017-05-08 6:20 ` Chris Marusich [this message]
2017-05-08 14:20 ` Ludovic Courtès
2017-05-10 7:26 ` Chris Marusich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r2zzc1jz.fsf@gmail.com \
--to=cmmarusich@gmail.com \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.