Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Things are compiled under ./env, but ./env / ./env.in is for running examples/tests/... only #111

@emixa-d

Description

@emixa-d

(This is response to bug report at guile-user ML, not yet in archives)

Running

./pre-inst-env guix build --target=i586-pc-gnu --system=i686-linux guile-fibers
make[1]: Entering directory '/tmp/guix-build-guile-fibers-1.3.1.drv-0/source'
./env
/gnu/store/6f0nwq8wfcrbii9lxlffjph7kajgp6q9-guile-3.0.9/bin/guild compile --target=i586-pc-gnu -L "/tmp/guix-build-guile-fibers-1.3.1.drv-0/source"
-Wunbound-variable -Warity-mismatch -Wformat -o "fibers/operations.go" "fibers/operations.scm"
[…]
In unknown file:
5 (primitive-load-path "fibers/events-impl" #<procedure 29b290 at ice-9/boot-9.scm…>)

Looking at the backtrace, while compiling (fibers operations), it loads (fibers events-impl).

In override/fibers/events-impl.scm:
41:15 4 (_)

In particular, it loads the override. The override/non-override was added in 62b2ca6 to make sure that when compiling, no .so are loaded! The override contains the .so loading code, the non-override fibers/events-impl.scm is a stub that’s completely safe for (cross-)compilation.

So, it has no business loading override/fibers/events-impl.scm! The only place where ‘override’ is added to the load path is in ‘env.in/env’, which is only used for testing (not for actual compilation).

Yet, the make says ‘./env [guild compile stuff’ – that ‘./env’ shouldn’t be appearing there (it’s for running tests / examples (runtime things), not compilation). Looking at https://github.com/wingo/fibers/actions/runs/11133129373/job/30938526065, this ‘./env’ also mysteriously appears upstream.

So, what adds ./env and how do we stop it? (I don’t have an appropriate system for investigation at the moment.)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions