From b72f44d7b5a7768ced563fa5ee929a1808b8a924 Mon Sep 17 00:00:00 2001 From: Alex O'Connell Date: Sun, 17 May 2026 10:02:52 -0400 Subject: [PATCH 1/3] enable arm64 musl builds --- .github/workflows/build-and-release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index df6201ee7..924bf3c9b 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -82,8 +82,8 @@ jobs: - name: Build wheels uses: pypa/cibuildwheel@v2.22.0 env: - CIBW_SKIP: "*musllinux* pp*" - CIBW_REPAIR_WHEEL_COMMAND: "" + CIBW_SKIP: "pp*" + CIBW_REPAIR_WHEEL_COMMAND: "LD_LIBRARY_PATH=/project/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" CIBW_ARCHS: "aarch64" # Keep native arm64 builds on a portable CPU baseline instead of # tuning wheels to the hosted runner. From bb02b513298833a2dec78aa9a5e88216b462456f Mon Sep 17 00:00:00 2001 From: abetlen Date: Sat, 30 May 2026 22:52:10 -0700 Subject: [PATCH 2/3] feat: enable arm64 musl builds --- .github/workflows/build-and-release.yaml | 4 ++-- CHANGELOG.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index 924bf3c9b..b843c1c5a 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -48,7 +48,7 @@ jobs: CIBW_REPAIR_WHEEL_COMMAND: "" # Linux needs auditwheel repair so manylinux and musllinux wheels are # published with distinct platform tags instead of generic linux tags. - CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH=/project/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" + CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH={project}/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" # The release wheel is tagged py3-none, so one build per platform # covers all supported Python versions and avoids duplicate names. CIBW_BUILD_LINUX: "cp38-*" @@ -83,7 +83,7 @@ jobs: uses: pypa/cibuildwheel@v2.22.0 env: CIBW_SKIP: "pp*" - CIBW_REPAIR_WHEEL_COMMAND: "LD_LIBRARY_PATH=/project/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" + CIBW_REPAIR_WHEEL_COMMAND: "LD_LIBRARY_PATH={project}/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" CIBW_ARCHS: "aarch64" # Keep native arm64 builds on a portable CPU baseline instead of # tuning wheels to the hosted runner. diff --git a/CHANGELOG.md b/CHANGELOG.md index 6228d09f4..d4dc69d30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] - feat: Update llama.cpp to ggml-org/llama.cpp@c0c7e147e +- feat: enable arm64 musl builds by @acon96 in #2221 - docs: add contributing guide by @abetlen in #2229 - chore: Migrate llama.cpp submodule URL to ggml-org/llama.cpp by @shalinib-ibm in #2034 - fix: Enable unified KV cache for embedding contexts to preserve full per-sequence context in batch embedding calls by @SanjanaB123 in #2217 From b7097a5bc94fa796c24673c4d3d45141ea238331 Mon Sep 17 00:00:00 2001 From: abetlen Date: Sat, 30 May 2026 23:14:54 -0700 Subject: [PATCH 3/3] fix(ci): use cwd for arm64 wheel repair --- .github/workflows/build-and-release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yaml b/.github/workflows/build-and-release.yaml index b843c1c5a..5cfb6469d 100644 --- a/.github/workflows/build-and-release.yaml +++ b/.github/workflows/build-and-release.yaml @@ -48,7 +48,7 @@ jobs: CIBW_REPAIR_WHEEL_COMMAND: "" # Linux needs auditwheel repair so manylinux and musllinux wheels are # published with distinct platform tags instead of generic linux tags. - CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH={project}/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" + CIBW_REPAIR_WHEEL_COMMAND_LINUX: "LD_LIBRARY_PATH=/project/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" # The release wheel is tagged py3-none, so one build per platform # covers all supported Python versions and avoids duplicate names. CIBW_BUILD_LINUX: "cp38-*" @@ -83,7 +83,7 @@ jobs: uses: pypa/cibuildwheel@v2.22.0 env: CIBW_SKIP: "pp*" - CIBW_REPAIR_WHEEL_COMMAND: "LD_LIBRARY_PATH={project}/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" + CIBW_REPAIR_WHEEL_COMMAND: "LD_LIBRARY_PATH=$PWD/llama_cpp/lib auditwheel repair -w {dest_dir} {wheel}" CIBW_ARCHS: "aarch64" # Keep native arm64 builds on a portable CPU baseline instead of # tuning wheels to the hosted runner.