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. >
signature.asc
Description: PGP signature