On Tue, 03 Feb 2026 18:45:00 +0100,
Volker Schlecht <[email protected]> wrote:
> 
> While it *is* based on libggml, the sd-cpp ggml is built with
> GGML_MAX_NAME=128, so we can't use devel/libggml from ports.
> 
> Likewise, we can't dynamically select the backend as in llama.cpp,
> hence the -vulkan FLAVOR.
> 

Two remarks:

1. I've tried to rebuild llama.cpp and whisper.cpp against ggml with
   GGML_MAX_NAME=128 and it works, so at least this isn't a blocker.

2. We still can use global libggml, but we should manually link the backend
   to link vulcan or which cpu.

Probably this should work:

CXXFLAGS +=             -Wl,-L${LOCALBASE}/lib \
                        -Wno-unused-command-line-argument

.if ${FLAVOR:Mvulkan}
.if ${MACHINE_ARCH:Mamd64} || ${MACHINE_ARCH:Maarch64}
CXXFLAGS +=             -Wl,-lggml-vulkan
CONFIGURE_ARGS +=       -DSD_VULKAN=on
.endif
.else
.if ${MACHINE_ARCH:Mamd64}
CXXFLAGS +=             -Wl,-lggml-cpu-x64
.else
CXXFLAGS +=             -Wl,-lggml-cpu
.endif

.endif


and used patch to increase GGML_MAX_NAME:

Index: include/ggml.h
--- include/ggml.h.orig
+++ include/ggml.h
@@ -226,7 +226,7 @@
 #define GGML_MAX_OP_PARAMS      64
 
 #ifndef GGML_MAX_NAME
-#   define GGML_MAX_NAME        64
+#   define GGML_MAX_NAME        128
 #endif
 
 #define GGML_DEFAULT_N_THREADS  4



-- 
wbr, Kirill

Reply via email to