Subject: Re: [bug#70202] [PATCH] doc: Add message for common error about make check-system

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Mon, 17 Jun 2024 13:50:36 +0200

Hello Richard, I am hesitant because I cannot reproduce the error and it
might be better to fix it rather than document it.  Looking at,

Richard Sent <[email-masked]> writes:
> * doc/guix.texi: Mention that make clean may need to be run before running
> make check-system when previous builds were run with different work trees. See
> https://issues.guix.gnu.org/47573.

I assume by work tree you do not mean a work tree produced by `git
worktree`, but the state of the source directory.  So:

Léo Le Bouter <[email-masked]> writes
<https://issues.guix.gnu.org/47573>:
> $ make check-system
> Compiling Scheme modules...
> ice-9/eval.scm:142:16: In procedure compile-top-call:
> error: channel-source->package: unbound variable
> hint: Did you forget `(use-modules (gnu ci))'?
>
> make: *** [Makefile:6305: check-system] Error 1

and:

Richard Sent <[email-masked]> writes:
> +Compiling Scheme modules...
> +ice-9/eval.scm:142:16: In procedure compile-top-call:
> +error: all-system-tests: unbound variable
> +hint: Did you forget `(use-modules (gnu tests))'?

I do not understand Guix well enough why this could happen.  Since `make
clean-go` helps, the cause must be in Guix’ .go files and not some
cache.  In Makefile.am, the check-system target depends on $(GOBJECTS).

I presume gnu/tests.go and gnu/ci.go should be added to GOBJECTS?
Or gnu/tests.scm and gnu/ci.scm should be added to MODULES?

But I do not really understand.

Regards,
Florian