wai-quantum-cli release: link the Linux binaries static, not static-pie #375

Merged
dcharlot merged 1 commit from wai/quantum-cli-release-static into main 2026-10-20 22:35:30 -04:00
Owner

The first release run for the tag wai-quantum-cli-v0.1.0 (run 8811) built a dynamic PIE on x86_64 Linux, linked against ld-musl. The workflow's own static check refused it, and the run was cancelled.

The cause: on musl, rustc asks the linker for -static-pie, which this musl-gcc's specs do not take, so it links a dynamic PIE. Without position-independent code, rustc asks for -static, which they do.

The Linux build now sets -C target-feature=+crt-static -C relocation-model=static for the target. RUSTFLAGS reach the target only, since --target is given, so build scripts build for the host as before.

Checked: the YAML parses. The fix is proven only by the release run itself, which runs on a tag. After this merges, the tag is moved to the new main commit. That commit differs from the published wai-quantum-cli 0.1.0 only in this workflow.

🤖 Generated with Claude Code

The first release run for the tag `wai-quantum-cli-v0.1.0` (run 8811) built a dynamic PIE on x86_64 Linux, linked against `ld-musl`. The workflow's own static check refused it, and the run was cancelled. The cause: on musl, rustc asks the linker for `-static-pie`, which this `musl-gcc`'s specs do not take, so it links a dynamic PIE. Without position-independent code, rustc asks for `-static`, which they do. The Linux build now sets `-C target-feature=+crt-static -C relocation-model=static` for the target. `RUSTFLAGS` reach the target only, since `--target` is given, so build scripts build for the host as before. **Checked:** the YAML parses. The fix is proven only by the release run itself, which runs on a tag. After this merges, the tag is moved to the new main commit. That commit differs from the published wai-quantum-cli 0.1.0 only in this workflow. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
wai-quantum-cli release: link the Linux binaries static, not static-pie
All checks were successful
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 16s
standards workspaces build + test / macOS energy backends (pull_request) Has been skipped
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m39s
30cf709672
The first release run (wai-quantum-cli-v0.1.0) built a dynamic PIE on x86_64 Linux,
linked against ld-musl, and the workflow's own check refused it. On musl rustc asks
the linker for -static-pie, which this musl-gcc's specs do not take; without
position-independent code it asks for -static, which they do. The Linux build now
sets crt-static and the static relocation model for the target. RUSTFLAGS reach the
target only, since --target is given, so build scripts build for the host as before.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!375
No description provided.