Skip to content

ci: fix musl static-PIE link + macOS x86_64 cross-wheel smoke test#149

Merged
rahlk merged 1 commit into
146-package-codeanalyzer-java-as-a-pypi-distribution-with-pypi-releaseymlfrom
fix/pypi-musl-pie-and-macos-smoke
Jun 8, 2026
Merged

ci: fix musl static-PIE link + macOS x86_64 cross-wheel smoke test#149
rahlk merged 1 commit into
146-package-codeanalyzer-java-as-a-pypi-distribution-with-pypi-releaseymlfrom
fix/pypi-musl-pie-and-macos-smoke

Conversation

@rahlk

@rahlk rahlk commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Follow-ups surfaced by the re-tagged v2.3.7 run (#147/#148 already merged).

musl: read-only segment has dynamic relocations

The musl.cc download fix (#148) worked — the toolchain now downloads and native-image runs. It exposed the next error: the musl.cc gcc 11 toolchain is built with --enable-default-pie/--enable-static-pie, so -static yields a static-PIE that the linker rejects against GraalVM's .svm_heap. Add -H:NativeLinkerOption=-no-pie to the musl build args to force a classic non-PIE static executable. (musl legs remain experimental.)

macOS x86_64: smoke test on cross-built wheel

The wheel builds fine, but the runner's arm64 Python can't install an x86_64-tagged wheel (not a supported wheel on this platform). Run that leg's smoke test under Rosetta with the universal /usr/bin/python3, so the venv, pip install, and bundled native binary all execute as x86_64 — keeping real validation rather than skipping.

🤖 Generated with Claude Code

Two follow-ups surfaced by the re-tagged v2.3.7 run:

- musl native link failed with 'read-only segment has dynamic
  relocations' on .svm_heap. The musl.cc gcc 11 toolchain defaults to
  static-PIE, which GraalVM's image heap can't satisfy. Add
  -H:NativeLinkerOption=-no-pie for the musl build to force a non-PIE
  static executable. (The earlier musl.cc download fix worked; this is
  the next error it exposed.)

- macOS x86_64 wheel built fine but its smoke test failed: the runner's
  arm64 Python can't install an x86_64-tagged wheel. Run that leg's
  smoke test under Rosetta via the universal /usr/bin/python3 so the
  venv, pip install, and bundled binary are all x86_64.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@rahlk rahlk merged commit a141d99 into 146-package-codeanalyzer-java-as-a-pypi-distribution-with-pypi-releaseyml Jun 8, 2026
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