diff options
| author | user <user@clank> | 2026-08-12 21:12:08 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-12 21:12:08 +0200 |
| commit | 03a2a8a8cbe30d8acf76420ba5143080cbf65d9e (patch) | |
| tree | fe89b79d6cdc3679dcfacc3499008d86d9d386f2 /cli | |
| parent | docs: record the target-dir symlink coupling and refresh stale provenance (diff) | |
| download | sl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.tar.gz sl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.tar.xz sl0ppi-03a2a8a8cbe30d8acf76420ba5143080cbf65d9e.zip | |
build: ship a static musl binary instead of a glibc-2.39 one
The gnu release build required GLIBC_2.39 (Jan 2024), so the "install it on
another machine" artifact would have failed on Debian 12, Ubuntu 22.04 and
RHEL 9. That is the whole premise of this repo, so it is a defect, not a nit.
make build -> cargo zigbuild --target x86_64-unknown-linux-musl
result -> ELF, statically linked, 0 GLIBC_ symbols, 51M
make build-gnu kept for fast local use
A musl build needs a musl C toolchain: isahc/curl pulls libz-sys and
libnghttp2-sys unconditionally (confirmed: --no-default-features does not drop
them). cargo-zigbuild + the ziglang python module were already installed here,
so this needs no sudo, no docker daemon and no system packages.
stage.sh now refuses to be quiet about it: it reports "statically linked" or
warns loudly that the artifact inherits the build box's libc.
Re-verified from the tarball in a throwaway HOME with node/npm/bun/cargo
replaced by poison stubs: static binary, pi 0.84.1 on the bundled bun, both wasm
plugins installed, session starts under a pty with no errors.
Remaining libc floor is bun's own glibc 2.17 (2012); bun publishes a musl build
if Alpine ever matters.
Diffstat (limited to 'cli')
0 files changed, 0 insertions, 0 deletions
