From 3b8003327d522607a1987d0801c5e7726d2685fd Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Feb 2026 04:47:29 +0000 Subject: [PATCH 1/2] fix: use cross for Linux builds to target glibc 2.31 for broad compatibility The release workflow was building on ubuntu-latest (Ubuntu 24.04), which produced binaries requiring glibc 2.39+. This made the binaries incompatible with most Linux distributions (only Ubuntu 24.04+ and Fedora 40+ worked). Switch Linux builds to use the `cross` tool, which compiles inside Docker containers with an older glibc (2.31). This makes the binaries compatible with Ubuntu 20.04+, Debian 11+, RHEL 9+, Fedora 33+, and most other modern Linux distributions. https://claude.ai/code/session_01PgK6kkizuvPvv6oq1Ku2QW --- .github/workflows/release-please.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/release-please.yml b/.github/workflows/release-please.yml index 00259ec..2481d8f 100644 --- a/.github/workflows/release-please.yml +++ b/.github/workflows/release-please.yml @@ -68,7 +68,20 @@ jobs: with: targets: ${{ matrix.target }} + # Use cross for Linux builds to target older glibc (2.31) for broad compatibility. + # Without this, ubuntu-latest (24.04) produces binaries requiring glibc 2.39+. + - name: Install cross + if: contains(matrix.target, 'linux') + uses: taiki-e/install-action@v2 + with: + tool: cross + + - name: Build (Linux) + if: contains(matrix.target, 'linux') + run: cross build --release --target ${{ matrix.target }} + - name: Build + if: ${{ !contains(matrix.target, 'linux') }} env: RUSTFLAGS: ${{ matrix.rustflags }} run: cargo build --release --target ${{ matrix.target }} From b209bc42c2daccf3b990b4cddd4ff3ae939f2c57 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 26 Feb 2026 04:56:08 +0000 Subject: [PATCH 2/2] fix: use cross for Linux builds to target glibc 2.31 for broad compatibility https://claude.ai/code/session_01PgK6kkizuvPvv6oq1Ku2QW