Merged
Conversation
…g_view - get_home_dir() is runtime (getenv), cannot use in constexpr - string_view from temporary string would dangle after expression ends - Add get_xlings_bin() returning std::string, keep get_home_dir in original position - Update platform.cppm and xlings.cppm to use get_xlings_bin()
Switch Linux CI and release builds to use musl-gcc 15.1 downloaded directly from xlings-res/musl-gcc releases, matching the approach used by xlings. Also switch to bundled xmake v3.0.7, ubuntu-24.04, and the raw githubusercontent Xlings install URL. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The helper binaries (as, cc1, collect2) in the musl-gcc package have a hardcoded ELF interpreter path (/home/xlings/.xlings_data/lib/ld-musl-x86_64.so.1). Create the required symlinks so the toolchain can execute on the runner. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Without --sysroot, xmake cannot find musl headers (they live under $MUSL_SDK/x86_64-linux-musl/, not $MUSL_SDK/), so cmake-based packages fall back to /usr/include (glibc headers), causing incompatible bits/wordsize.h errors when compiling with musl-gcc. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Switch Linux static portability strategy from musl-gcc cross-compilation (incompatible with xmake v3.0.7 package builds) to -static ldflags in xmake.lua. xmake builds all dependencies (libcurl, ftxui, cmdline) as static libs by default, so -static produces a fully self-contained binary using the system gcc toolchain. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
cmake adds -isystem /usr/include which gcc --sysroot remaps to $SYSROOT/usr/include. Create usr/include and usr/lib symlinks in the musl sysroot so the remapping resolves to musl headers instead of falling through to glibc headers. Pass --sysroot via --cflags/--cxxflags (xmake f has no --sysroot flag) and also export CFLAGS/CXXFLAGS so cmake package builds inherit it. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Install xmake@3.0.7 and gcc@15 through xlings instead of manual musl-gcc cross-compilation setup. xlings handles toolchain management and exposes binaries via subos/current/bin. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
No description provided.