Skip to content

Fix/macos include libllama server impl#1

Merged
phibya merged 2 commits into
masterfrom
fix/macos-include-libllama-server-impl
May 30, 2026
Merged

Fix/macos include libllama server impl#1
phibya merged 2 commits into
masterfrom
fix/macos-include-libllama-server-impl

Conversation

@phibya

@phibya phibya commented May 30, 2026

Copy link
Copy Markdown

No description provided.

bya added 2 commits May 30, 2026 09:37
The macOS packaging branch hardcoded a 4-entry allowlist
(libllama / libggml / libggml-base / libmtmd) for which dylibs to
copy into the release tarball. When the upstream split the server
implementation into its own dylib in v0.0.2,
libllama-server-impl.dylib was silently dropped from every macos
release. The 33 KB llama-server launcher stub dyld-fails on load:

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

Linux releases were unaffected — the Linux branch already globs
*.so/.so.*. Mirror that approach on macOS so any further dylib
splits land automatically.
The CUDA and ROCm Linux jobs packaged shared libraries into
`release/lib/` while building with `CMAKE_INSTALL_RPATH='$ORIGIN'`
(line 559) — the binary looks for libs alongside itself, but the
packaged tarball put them in a subdirectory. Net effect: a user
who runs `tar xzf llama-server-linux-x86_64-cuda12.9.tar.gz && ./llama-server`
hits a dlopen failure on the very first library reference.

Linux CPU (in the build-matrix job) already uses a flat layout
that works with the same RPATH. Mirror that here so CUDA and
ROCm tarballs behave the same way on direct extract.

Also fix the release notes — they claimed libraries in `lib/`
were auto-discovered via RPATH, which would only be true if
RPATH were `$ORIGIN/lib`. With the actual RPATH ($ORIGIN), the
flat layout is what makes the claim true.
@phibya phibya merged commit cf63e05 into master May 30, 2026
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