feat(aarch64): default to musl-static toolchain on non-x86 Linux#148
Merged
Conversation
Bare `mcpp build` (new project, no [toolchain]) on aarch64 tried to install the glibc default gcc@16.1.0 + glibc + linux-headers, which have no aarch64 assets (HTTP 404). On non-x86_64 Linux, default to gcc@15.1.0-musl instead: it's published for aarch64, self-contained (skip glibc/linux-headers deps), and yields portable static binaries (ideal for aarch64/Termux). x86_64 keeps the glibc default. Seeds the host triple so the <host>-linux-musl-g++ frontend resolves for the no---target default. Also: fresh-install CI self-hosts mcpp AND xlings via --target aarch64-linux-musl (their manifests pin a glibc default).
Sunrisepeak
added a commit
that referenced
this pull request
Jun 23, 2026
…mcpp, then it cross-builds aarch64 The published bootstrap mcpp (0.0.58) predates aarch64 cross-build support (#146/#148), so 'mcpp build --target aarch64-linux-musl' resolved the x86_64 host musl-gcc and produced no aarch64 binary. Build this release's x86_64 mcpp first (it has the feature), then cross-build aarch64 with it. Verified locally: fresh 0.0.59 resolves aarch64-linux-musl-gcc and emits an ARM aarch64 static ELF.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes bare
mcpp buildwork out-of-the-box on aarch64. Previously the glibc default (gcc@16.1.0 + glibc + linux-headers) 404'd on aarch64 (no glibc toolchain published). On non-x86_64 Linux, default togcc@15.1.0-musl— published, self-contained, portable static (ideal for aarch64/Termux). x86_64 unchanged.Found by the native fresh-install run: install loop worked, bare build hit the glibc 404. Also updates that CI to self-host mcpp+xlings via
--target aarch64-linux-musl.