[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problems running 'check-system'
From: |
Chris Marusich |
Subject: |
Re: Problems running 'check-system' |
Date: |
Sun, 07 May 2017 23:20:16 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hi Ludo,
address@hidden (Ludovic Courtès) writes:
> Hi Chris,
>
> Chris Marusich <address@hidden> skribis:
>
>> address@hidden (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
signature.asc
Description: PGP signature