Skip to content

Commit 83f24b9

Browse files
committed
fix(install): preserve llama library symlinks
Move dylib and so symlinks alongside the versioned llama-server libraries so rerunning the installer repairs broken macOS installs that are missing compatibility filenames like libmtmd.0.dylib. Made-with: Cursor
1 parent ecca2d2 commit 83f24b9

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

scripts/install.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -467,17 +467,18 @@ install_llama_server() {
467467
fi
468468
mkdir -p "$_llama_dir"
469469

470-
# Install shared libraries from the entire extract tree (tarballs may put .so under lib/
470+
# Install shared libraries from the entire extract tree (tarballs may put libs under lib/
471471
# next to bin/llama-server; only searching dirname(llama-server) misses them).
472-
# Parentheses are required for correct find -o grouping.
472+
# Preserve symlinks like libmtmd.0.dylib -> libmtmd.0.0.8429.dylib; the loader resolves
473+
# @rpath against those compatibility names, not just the versioned payload files.
473474
if [ -w "$_llama_dir" ]; then
474-
find "$_tmpdir" \( -name "*.dylib" -o -name "*.so" -o -name "*.so.*" \) -type f | while read -r _lib; do
475+
find "$_tmpdir" \( -type f -o -type l \) \( -name "*.dylib" -o -name "*.so" -o -name "*.so.*" \) | while read -r _lib; do
475476
mv "$_lib" "$_llama_dir/"
476477
done
477478
mv "$_llama_bin" "$_llama_dir/"
478479
else
479480
info "Requires sudo to install llama-server."
480-
find "$_tmpdir" \( -name "*.dylib" -o -name "*.so" -o -name "*.so.*" \) -type f | while read -r _lib; do
481+
find "$_tmpdir" \( -type f -o -type l \) \( -name "*.dylib" -o -name "*.so" -o -name "*.so.*" \) | while read -r _lib; do
481482
sudo mv "$_lib" "$_llama_dir/"
482483
done
483484
sudo mv "$_llama_bin" "$_llama_dir/"

0 commit comments

Comments
 (0)