Skip to content

uv add llama-cpp-python wheels fails for versions above 0.3.30 #2352

Description

@Karthik777
$ python3 --version
Python 3.13.8

Failure Information (for bugs)

The wheel is a zip whose stored uncompressed size for lib/libggml-base.0.16.0.dylib disagrees with the actual data (got 000b08a5, expected 000b0798), so strict extractors reject it. The failure happens purely at archive extraction, before anything is imported or run, which points at the release pipeline that built or uploaded the macOS arm64 metal wheels rather than at any local setup. Running unzip -t on the downloaded wheel should surface the same bad entry.

Steps to Reproduce

  1. On an Apple Silicon Mac, add the metal wheel index: https://abetlen.github.io/llama-cpp-python/whl/metal
  2. Ask for the metal build of 0.3.34, e.g. pip install "llama-cpp-python==0.3.34" --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/metal
  3. Installation fails while extracting lib/libggml-base.0.16.0.dylib with a bad-uncompressed-size error.
  4. Pinning to 0.3.30 from the same index installs and runs without issue.

pyproject.toml

[[tool.uv.index]]
name = "llama-metal"
url = "https://abetlen.github.io/llama-cpp-python/whl/metal"
explicit = true

[[tool.uv.index]]
name = "llama-cpu"
url = "https://abetlen.github.io/llama-cpp-python/whl/cpu"
explicit = true

[tool.uv.sources]
llama-cpp-python = [
    { index = "llama-metal", marker = "sys_platform == 'darwin' and platform_machine == 'arm64'" },
    { index = "llama-cpu", marker = "sys_platform != 'darwin' or platform_machine != 'arm64'" },
]

Failure Logs

× Failed to download `llama-cpp-python==0.3.34`
├─▶ Failed to extract archive: llama_cpp_python-0.3.34-py3-none-macosx_11_0_arm64.whl
╰─▶ Bad uncompressed size (got 000b08a5, expected 000b0798) for file: lib/libggml-base.0.16.0.dylib

Suggested check: re-verify the macOS arm64 metal wheels for 0.3.33 and 0.3.34 with unzip -t (or any strict zip reader) and rebuild/reupload them. The CPU wheels and 0.3.30 are unaffected.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions