abetlen / abetlen/llama-cpp-python

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

未關閉
#2,352 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
10.6k
分支
1.4k
PR 合併指標
PR 指標待擷取

描述

- OS: macOS (Darwin 25.5.0)
- Wheel index: https://abetlen.github.io/llama-cpp-python/whl/metal
- Failing wheel: `llama_cpp_python-0.3.34-py3-none-macosx_11_0_arm64.whl`
- Bundled file that fails to extract: `lib/libggml-base.0.16.0.dylib`

```
$ 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.

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。