Ian Eure <i...@retrospec.tv> writes:

> I have two patches I contributed which I need to make some additional
> changes to, but which I can’t make progress on because they fail to
> build.  The failures are repeatable -- I can replicate them every
> time, across multiple computers -- but not /consistent/ -- the same
> code fails when built from a clean state, but works if I build the
> base commit of the branch, then the HEAD.
>
> First bug -- #77653.  Working state is in the wasm-toolchain branch at
> https://codeberg.org/ieure/guix.git
>
> Symptom: `make clean && make' fails to build with:
>
>    ice-9/eval.scm:293:34: error: clang-runtime-16: unbound
>    variable
>    hint: Did you forget a `use-modules' form?

This is probably because of the circular dependency between modules, and
inherit across modules will cause problems

also see https://issues.guix.gnu.org/77653#11

|I forgot the most important bit: inheritance cannot happen between
|different modules, as it uses direct (non-delayed nor thunked)
|references to the package objects and would introduce module circular
|dependencies, which are surprising and not fun to hunt down.  See (info
|"(guix) Cyclic Module Dependencies") for the explanation/guidelines.


>
> It’d be nice if this gave me a file/line for the problem, but the only
> added mention of this package is in gnu/packages/wasm.scm, where the
> wasm32-wasi-clang-runtime package inherits from it.  The
> clang-runtime-16 package is in (gnu packages llvm), is public, and
> gnu/packages/wasm.scm uses (gnu packages llvm).  If I load wasm.scm in
> the Guix REPL, it works fine.  If I build the base commit of that
> branch (7ff20b9e94), then build the HEAD (dd2172a054), it builds fine.
> It only fails when I `make clean && make' on dd2172a054.
>

Attachment: signature.asc
Description: PGP signature

Reply via email to