Skip to content

Fix the release build: modern compiler on macOS, correct arch under Rosetta - #4

Merged
hotpixelgroup merged 1 commit into
masterfrom
release-fixes
Jul 27, 2026
Merged

Fix the release build: modern compiler on macOS, correct arch under Rosetta#4
hotpixelgroup merged 1 commit into
masterfrom
release-fixes

Conversation

@hotpixelgroup

Copy link
Copy Markdown
Owner

The first tagged release run failed. Two fixes.

1. macOS artifacts would not compile. The runner ships AppleClang 15, which lacks CTAD for aggregates — required by src/util/overloaded.h. Build with Homebrew LLVM instead of depending on the runner's Xcode vintage; Apple silicon also moves to macos-15.

2. Wrong architecture under Rosetta. Chasing the first bug surfaced a second: the console chose its prebuilt slug from platform.machine(), which reports the interpreter's architecture. A Python running under Rosetta on Apple silicon reports x86_64, so an M-series Mac would have downloaded an Intel node.

Verified on an M1 Pro: platform.machine() returns x86_64, the corrected check returns arm64. The shell installer already used uname -m and was unaffected.

Checklist

  • I ran it — arch detection verified on real hardware
  • python3 -m py_compile contrib/vibes/bitcoin-vibes
  • src/ untouched — consensus unaffected

The first real release run failed on macOS: the runner ships AppleClang
15, which lacks Class Template Argument Deduction for aggregates, and
src/util/overloaded.h requires it. Rather than chase whichever Xcode a
runner image happens to carry, build with Homebrew's LLVM, which is
current everywhere. Apple silicon also moves to macos-15.

Also fixes a defect the failure led me to: the console picked its
prebuilt architecture from platform.machine(), which reports the
*interpreter's* architecture. A Python running under Rosetta on Apple
silicon says x86_64, so an M-series Mac would have fetched an Intel
node. It now asks the kernel whether the process is translated and
answers for the hardware — verified on an M1 Pro, where
platform.machine() says x86_64 and the corrected check says arm64.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@hotpixelgroup
hotpixelgroup merged commit 1bfebde into master Jul 27, 2026
2 checks passed
@hotpixelgroup
hotpixelgroup deleted the release-fixes branch July 27, 2026 00:19
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