Skip to content

chore(server): bump llama.cpp to b10238 / current image digests - #217

Merged
dvcdsys merged 1 commit into
developfrom
chore/llama-bump-b10238
Aug 3, 2026
Merged

chore(server): bump llama.cpp to b10238 / current image digests#217
dvcdsys merged 1 commit into
developfrom
chore/llama-bump-b10238

Conversation

@dvcdsys

@dvcdsys dvcdsys commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Bumps every llama.cpp pin in the repo and fixes the bundle breakage the new upstream layout exposed.

Closes #205, closes #170 (same reminder, filed twice — see the workflow fix below). Supersedes #181, whose digests were already stale.

Pins

Where From To
server/Dockerfile.cuda 7b3d7834 fd68d130 (:server-cuda)
server/Dockerfile 6bc9134e 9e60dd36 (:server, multi-arch)
server/Makefile LLAMA_VERSION=b8914 b10238 (+ checksum row)

The real bug: fetch-llama.sh shipped a fixed file list

b10238 moved each tool's logic into its own libllama-<tool>-impl.dylib. The hand-maintained SHIP=(...) list did not know about it, so bumping LLAMA_VERSION alone produced a bundle whose llama-server aborted at dyld load:

dyld: Library not loaded: @rpath/libllama-server-impl.dylib

This is the same failure that took prod down once via the CUDA image, which is why Dockerfile/Dockerfile.cuda already COPY /app/*.so* wholesale. The fetch script now does the same: llama-server + every *.dylib. Standalone binaries (llama-cli, llama-bench, ggml-rpc-server, mtmd-*, …) are still dropped. Cost: ~1 MB of other tools' impl dylibs in a ~52 MB bundle.

A post-copy otool -L check now fails the fetch if any @rpath dependency of llama-server is missing from the destination — so the next upstream layout change surfaces at fetch time, not on an operator's machine.

Workflow fix: duplicate reminder issues

The weekly pin-freshness job deduped with gh issue list --search "$title in:title". The title contains ( and :, so GitHub's search parser reads chore(server/cuda): as a qualifier and the query matched nothing — every run filed a fresh duplicate. #170 and #205 are the same reminder. Now it matches the exact title against the open-issue list.

Verification

  • CPU image built locally (arm64) with the new digest; /app/llama-server runs (version: 10236). docker scout cves: 0C / 0H / 0M / 0L, 229 packages, 73 MB.
  • macOS arm64 bundle: llama-server --versionb10238, every @rpath dependency resolves.
  • CUDA digest inspected directly: /app/llama-server + libllama-server-impl.so are present and the COPY /app/*.so* glob captures them; ldd needs only libs the distroless/cc-debian13 base + the copied CUDA/gomp set already provide.

Important

A full make scout-cuda (build + scan) has not run — it needs the native amd64 builder on the RTX box, which was offline. This must pass before the next server release tag.

🤖 Generated with Claude Code

Upstream moved well past every pin we carry. This bumps all three of
them and fixes the bundle breakage the new layout exposed.

Pins:
  - Dockerfile.cuda  7b3d7834 -> fd68d130 (:server-cuda)
  - Dockerfile       6bc9134e -> 9e60dd36 (:server, multi-arch)
  - Makefile         LLAMA_VERSION b8914 -> b10238 (+ checksum row)

fetch-llama.sh shipped a hand-maintained list of dylibs. b10238 moved
each tool's logic into its own libllama-<tool>-impl.dylib, so the list
produced a bundle whose llama-server aborted at dyld load time:

    Library not loaded: @rpath/libllama-server-impl.dylib

Ship the whole dylib set instead — the same lesson the Dockerfiles
already encode with `COPY /app/*.so*`. The other tools' impl dylibs
cost ~1 MB of a ~52 MB bundle. Standalone binaries are still dropped.
A post-copy otool check now fails the fetch when any @rpath dependency
of llama-server is missing, so the next layout change surfaces at
fetch time instead of on an operator's machine.

Also fix the weekly pin-freshness workflow's duplicate detection: the
issue title contains "(" and ":", which GitHub's search parser reads as
a qualifier, so `--search "$title in:title"` never matched and every run
filed a fresh duplicate (#170 and #205 are the same reminder). Match the
exact title against the open-issue list instead.

Verified:
  - CPU image builds locally (arm64) and /app/llama-server runs;
    docker scout: 0 CRITICAL / 0 HIGH / 0 MEDIUM / 0 LOW, 73 MB
  - macOS arm64 bundle: llama-server --version -> b10238, all @rpath
    dependencies resolve
  - CUDA image: /app/llama-server + libllama-server-impl.so present in
    the new digest and the `COPY /app/*.so*` glob still captures them;
    a full CUDA build + scan still needs the amd64 builder (host was
    offline) and must run before the next server release

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant