Skip to content

fix(docker): copy cbits/ before gen-cabal-config.sh#23

Merged
ccomb merged 1 commit intomainfrom
fix/docker-copy-cbits-shim
May 3, 2026
Merged

fix(docker): copy cbits/ before gen-cabal-config.sh#23
ccomb merged 1 commit intomainfrom
fix/docker-copy-cbits-shim

Conversation

@ccomb
Copy link
Copy Markdown
Owner

@ccomb ccomb commented May 3, 2026

Summary

  • docker/Dockerfile failed at the gen-cabal-config.sh step with cc1: fatal error: /build/volca/cbits/static-shims.c: No such file or directory.
  • Root cause: PR fix(link): statically link BLAS/LAPACK/gfortran into the engine binary #20 made gen-cabal-config.sh compile cbits/static-shims.c to a .o consumed by the static link, but the Dockerfile only copies volca.cabal, mumps-hs/ and gen-cabal-config.sh into the builder before invoking the script.
  • Fix: add COPY cbits/ /build/volca/cbits/ next to the other dep-spec copies, so the shim source is present when the script runs and layer caching only invalidates when shim sources change.

Test plan

  • ./volca/docker-build.sh (against this branch) progresses past step 11 — confirmed locally up to cabal build --only-dependencies volca.
  • Full image build completes and docker run volca --version works.

PR #20 made gen-cabal-config.sh compile cbits/static-shims.c into a
.o that the static link pulls in, but docker/Dockerfile still only
copies volca.cabal, mumps-hs/ and gen-cabal-config.sh into the
builder before invoking the script. The cc step fails with:

    cc1: fatal error: /build/volca/cbits/static-shims.c: No such
    file or directory

so the SaaS / volca image build breaks at step 11. Add a COPY for
cbits/ next to the other dependency-spec copies so the layer cache
still invalidates only when shim sources change.
@ccomb ccomb merged commit cf228af into main May 3, 2026
4 checks passed
@ccomb ccomb deleted the fix/docker-copy-cbits-shim branch May 3, 2026 21:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant