Skip to content

fix: install build prerequisites in all CI stages - #31

Merged
skipbit merged 1 commit into
mainfrom
fix-prerequisites-all-stages
Mar 22, 2026
Merged

fix: install build prerequisites in all CI stages#31
skipbit merged 1 commit into
mainfrom
fix-prerequisites-all-stages

Conversation

@skipbit

@skipbit skipbit commented Mar 22, 2026

Copy link
Copy Markdown
Owner

Summary

Fix GCC build failure in make stage caused by missing build prerequisites
(libgmp-dev, libmpfr-dev, libmpc-dev, libisl-dev) in the container.

Problem

The 3-stage CI pipeline runs each stage in a separate docker container.
Prerequisites installed during configure are not available in the make or
package containers. GCC make fails within ~1 minute because headers/libraries
from libgmp-dev etc. are missing.

Solution

Extract install_prerequisites() function and call it in all three stages:

  • configure: Step 6 (existing behavior)
  • make: after loading configure-tree artifact
  • package: after loading installed-tree artifact

apt-get install is idempotent, adding ~10-30 seconds per stage.

Test plan

  • Re-run ingot-cast workflow_dispatch with molds/gcc/15.2.0
  • make stage should proceed past the first minute
  • PR validation passes

Each CI stage (configure, make, package) runs in a separate container.
Prerequisites like libgmp-dev are only needed at configure time for
header detection, but shared libraries (.so) must be present during
make (compilation) and package (smoke test).

Extract install_prerequisites() function and call it in:
- configure stage: Step 6 (existing)
- make stage: after loading configure-tree artifact
- package stage: after loading installed-tree artifact

apt-get install is idempotent so repeated calls are safe.
@skipbit
skipbit merged commit dc1914c into main Mar 22, 2026
5 checks passed
@skipbit
skipbit deleted the fix-prerequisites-all-stages branch March 22, 2026 02:20
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