Ship a Linux binary that starts on glibc 2.31 and needs no libssl - #40
Merged
Merged
Conversation
The Linux release was linked on the Ubuntu 24.04 runner, so it asked for glibc 2.39 and libssl.so.3 and did not start on Debian 12, Ubuntu 22.04 or the python:*-slim images: most containers an agent runs in. - reqwest without its default features: TLS is rustls only - scripts/build-linux.sh builds in Debian bullseye, with the pinned Almide built from its tag there, and refuses a result past glibc 2.31 or one linking OpenSSL - release.yml builds Linux with it; the integration suite still runs the result on the runner - ci.yml checks that no OpenSSL is linked on Linux - README: the glibc floor Closes #35 Co-Authored-By: Claude Opus 5.5 (1M context) <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.
Closes #35.
The Linux release was linked on the Ubuntu 24.04 runner. It asked for glibc 2.39 and libssl.so.3, and so did not start on Debian 12, Ubuntu 22.04 or the python:*-slim images.
almide.toml: reqwest withdefault-features = false, so TLS is rustls only. The only HTTP users (MCP and model endpoints) already useno_proxy(). Dropping the defaults loses http2, charset decoding and macOS system proxy detection.scripts/build-linux.sh: builds inrust:1-bullseyeas the caller's user, with the pinned Almide built from its tag in the same container, since the Almide Linux release also needs glibc 2.39. It refuses a binary that needs anything past GLIBC_2.31, or that links libssl or libcrypto.release.yml: the Linux entries build with the script. Integration, strip and package are unchanged and still run on the runner.ci.yml: on Linux, fails iflddshows libssl or libcrypto.Verified locally
porta runstarts and refuses a write to/etcon debian:bookworm-slim, python:3.13-slim, ubuntu:22.04 and debian:bullseye-slim.--userform of the container run, whose first attempt was lost when Docker Desktop went down. This PR's Linux CI does not exercise it either; the next release run will.🤖 Generated with Claude Code