fix(jerbuild): stop forcing in-process compile on FreeBSD ta6fb #84
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/ta6fb-multicall-subprocess"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Every standalone binary produced by the FreeBSD (ta6fb) multicall jerbuild dies at startup:
Reproduced minimally on FreeBSD 14.4 (biggus) with the v0.12.10 freebsd-amd64 release toolchain and a 3-line project importing
(jerboa prelude)+(std native-loader)— the resulting binary fails withlibrary (jerboa runtime) not found. The v0.12.10 macos-arm64 artifact builds the same project fine.Root cause
jerbuild.ssbinary-build dispatch forced the in-process compile path on ta6fb (Chez 10.4.0 issue #78 workaround). In the multicall image the stdlib is internalized (already loaded), socompile-imported-librariesskips those libraries, Chez emits references instead of code, and the packaged program requires them at runtime from a search path that cannot resolve them.stringsconfirms: macOS-built binary carries 11native-loaderreferences; the FreeBSD one has 2 (the failing require literals).Fix
Drop the machine-type carve-out so ta6fb multicall builds use the same isolated-subprocess WPO path as every other platform. The #78 hang no longer reproduces on current master — validated natively on FreeBSD 14.4 by running the exact fresh-runtime helper shape (
compile-imported-libraries #t+compile-program) over the repro closure: clean completion, all bundle libs recompiled to native .wpo/.so.JERBOA_BINARY_FORCE_INPROCESSremains as the escape hatch if the hang ever returns.Verification
compile-programon FreeBSD 14.4: completes, emits all libs (biggus).VERSION 0.12.13 → 0.12.14.