git: 54132d5e75b6 - main - misc/ollama: Fix Vulkan support; Fix home directory value in ollama service
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 30 Mar 2026 20:47:02 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=54132d5e75b6a5079a0b3c1c178354238f393499
commit 54132d5e75b6a5079a0b3c1c178354238f393499
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-03-30 20:45:05 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-03-30 20:45:05 +0000
misc/ollama: Fix Vulkan support; Fix home directory value in ollama service
---
misc/ollama/Makefile | 11 ++++++++---
misc/ollama/files/ollama.in | 4 ++--
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/misc/ollama/Makefile b/misc/ollama/Makefile
index 51594daefa8b..9c32dc904bc6 100644
--- a/misc/ollama/Makefile
+++ b/misc/ollama/Makefile
@@ -1,6 +1,7 @@
PORTNAME= ollama
DISTVERSIONPREFIX= v
DISTVERSION= 0.19.0
+PORTREVISION= 1
CATEGORIES= misc # machine-learning
MAINTAINER= yuri@FreeBSD.org
@@ -39,6 +40,7 @@ OPTIONS_DEFAULT= CPU VULKAN MLX
CPU_DESC= Build CPU backend shared libraries for various SIMD instruction sets
CPU_PLIST_FILES= lib/ollama/libggml-base.so \
+ lib/ollama/libggml-base.so.0 \
lib/ollama/libggml-cpu-alderlake.so \
lib/ollama/libggml-cpu-haswell.so \
lib/ollama/libggml-cpu-icelake.so \
@@ -51,7 +53,7 @@ VULKAN_DESC= Build Vulkan GPU backend shared library
VULKAN_BUILD_DEPENDS= glslc:graphics/shaderc \
${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
-VULKAN_PLIST_FILES= lib/ollama/libggml-vulkan.so
+VULKAN_PLIST_FILES= lib/ollama/vulkan/libggml-vulkan.so
MLX_DESC= Build MLX backend for image generation (CPU)
MLX_BUILD_DEPENDS= ${LOCALBASE}/lib/cmake/fmt/fmt-config.cmake:devel/libfmt
@@ -139,14 +141,17 @@ post-install-CPU-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/ollama
${INSTALL_LIB} ${WRKSRC}/build/lib/ollama/libggml-base.so \
${STAGEDIR}${PREFIX}/lib/ollama/
+ # Create the SONAME symlink so that libggml-vulkan.so and libggml-cpu-*.so
+ # can resolve their NEEDED libggml-base.so.0 dependency via dlopen
+ ${LN} -sf libggml-base.so ${STAGEDIR}${PREFIX}/lib/ollama/libggml-base.so.0
@for f in ${WRKSRC}/build/lib/ollama/libggml-cpu*.so; do \
${INSTALL_LIB} $$f ${STAGEDIR}${PREFIX}/lib/ollama/; \
done
post-install-VULKAN-on:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/ollama
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/ollama/vulkan
${INSTALL_LIB} ${WRKSRC}/build/lib/ollama/libggml-vulkan.so \
- ${STAGEDIR}${PREFIX}/lib/ollama/
+ ${STAGEDIR}${PREFIX}/lib/ollama/vulkan/
post-install-MLX-on:
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/ollama
diff --git a/misc/ollama/files/ollama.in b/misc/ollama/files/ollama.in
index a70a905e2ed6..3fd963901f44 100644
--- a/misc/ollama/files/ollama.in
+++ b/misc/ollama/files/ollama.in
@@ -20,7 +20,7 @@
# ollama_context_length (int): Context length for ollama (OLLAMA_CONTEXT_LENGTH)
# Default: 65536
# ollama_use_vulkan (int): Use Vulkan (OLLAMA_VULKAN)
-# Default: 0
+# Default: 1, 0 to disable
. /etc/rc.subr
@@ -35,7 +35,7 @@ load_rc_config $name
: ${ollama_log:="/var/log/ollama-${ollama_user}.log"}
: ${ollama_pidfile:="/var/run/${name}-${ollama_user}.pid"}
: ${ollama_context_length:="65536"}
-: ${ollama_use_vulkan:="0"}
+: ${ollama_use_vulkan:="1"}
run_command="%%PREFIX%%/bin/ollama"
procname="${run_command}"