Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] package/llama-cpp: new package
@ 2025-10-22 17:35 Joseph Kogut
  2025-10-23 21:10 ` Julien Olivain via buildroot
  0 siblings, 1 reply; 3+ messages in thread
From: Joseph Kogut @ 2025-10-22 17:35 UTC (permalink / raw)
  To: buildroot; +Cc: Joseph Kogut

Add a package for llama.cpp, a C/C++ LLM inference library, used in
popular projects like Ollama, RamaLama, and more.

Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
---
I've bumped this package to the latest revision and I'm resending it for
review as a v2.

This patch adds a package for llama.cpp, an LLM inference library,
supporting many popular models, including LLaMa, Gemma, Deepseek, Qwen,
and many more.

This library includes tools that can be used for standalone inference,
like llama-cli and llama-server, as well as benchmarking, in
llama-bench. The library has a variety of software and hardware
accelerated backends, but this patch focuses on OpenBLAS and Vulkan
support to start.

The patch disables building for S390X and RISCV due to compilation
errors related to intrinsics, even though they're technically supported.
Older GCC versions are also problematic, and GCC > v9 is required.

As mentioned in the virglrenderer series, this package was used to test
virglrenderer with venus in a nested qemu guest using virtio-gpu.

https://lists.buildroot.org/pipermail/buildroot/2025-June/781395.html

The package was tested against all toolchains with utils/test-pkg:

  40 builds, 28 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed

Feedback welcome.

Thanks,
Joseph
---
Changes in v2:
- Bump version to b6818
- Link to v1: https://lore.kernel.org/r/20250619-llama-cpp-v1-1-0d4fe6710102@gmail.com
---
 DEVELOPERS                       |  1 +
 package/Config.in                |  1 +
 package/llama-cpp/Config.in      | 36 +++++++++++++++++++++++++++++++++
 package/llama-cpp/llama-cpp.hash |  4 ++++
 package/llama-cpp/llama-cpp.mk   | 43 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 85 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index 9e31f6b515..157e3d3149 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1762,6 +1762,7 @@ F:	package/at-spi2-core/
 F:	package/earlyoom/
 F:	package/gconf/
 F:	package/libnss/
+F:	package/llama-cpp/
 F:	package/llvm-project/clang/
 F:	package/llvm-project/lld/
 F:	package/llvm-project/llvm/
diff --git a/package/Config.in b/package/Config.in
index 10f6856dea..97cd5c616a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2299,6 +2299,7 @@ comment "linux-pam plugins"
 	source "package/libpam-tacplus/Config.in"
 endif
 	source "package/liquid-dsp/Config.in"
+	source "package/llama-cpp/Config.in"
 	source "package/llvm-project/llvm/Config.in"
 	source "package/lttng-libust/Config.in"
 	source "package/matio/Config.in"
diff --git a/package/llama-cpp/Config.in b/package/llama-cpp/Config.in
new file mode 100644
index 0000000000..5bba0067cf
--- /dev/null
+++ b/package/llama-cpp/Config.in
@@ -0,0 +1,36 @@
+config BR2_PACKAGE_LLAMA_CPP
+	bool "llama.cpp"
+	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
+	depends on !BR2_s390x
+	depends on !BR2_riscv
+	help
+	  LLM inference in C/C++
+
+comment "llama-cpp needs glibc or musl toolchain w/ c++, gcc >= 9"
+	depends on !BR2_INSTALL_LIBSTDCPP \
+		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_9 \
+		|| (!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL)
+
+if BR2_PACKAGE_LLAMA_CPP
+
+config BR2_PACKAGE_LLAMA_CPP_TOOLS
+	bool "Enable tools"
+	help
+	  Build CLI tools like llama-cli, llama-bench, etc.
+
+config BR2_PACKAGE_LLAMA_CPP_SERVER
+	bool "Enable server"
+	help
+	  Build OpenAI API-compatible web server, llama-server.
+
+config BR2_PACKAGE_LLAMA_CPP_VULKAN
+	bool "Vulkan support"
+	depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
+	depends on !BR2_STATIC_LIBS # vulkan-loader
+	depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
+	select BR2_PACKAGE_VULKAN_HEADERS
+	select BR2_PACKAGE_VULKAN_LOADER
+	help
+	  Enable Vulkan backend for GPU acceleration.
+endif
diff --git a/package/llama-cpp/llama-cpp.hash b/package/llama-cpp/llama-cpp.hash
new file mode 100644
index 0000000000..9eb950a5c7
--- /dev/null
+++ b/package/llama-cpp/llama-cpp.hash
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256  44fb7508b578d7e263fb4c5ef8252f406cb5951a9891c107ee8553a5f1b2e186  b6818.tar.gz
+# License
+sha256  e562a2ddfaf8280537795ac5ecd34e3012b6582a147ef69ba6a6a5c08c84757d  LICENSE
diff --git a/package/llama-cpp/llama-cpp.mk b/package/llama-cpp/llama-cpp.mk
new file mode 100644
index 0000000000..92dde059d2
--- /dev/null
+++ b/package/llama-cpp/llama-cpp.mk
@@ -0,0 +1,43 @@
+################################################################################
+#
+# llama.cpp
+#
+################################################################################
+
+LLAMA_CPP_VERSION = 6818
+LLAMA_CPP_SOURCE = b$(LLAMA_CPP_VERSION).tar.gz
+LLAMA_CPP_SITE = https://github.com/ggml-org/llama.cpp/archive/refs/tags
+LLAMA_CPP_LICENSE = MIT
+LLAMA_CPP_LICENSE_FILES = LICENSE
+LLAMA_CPP_INSTALL_STAGING = YES
+LLAMA_CPP_CONF_OPTS = \
+	-DLLAMA_BUILD_TESTS=OFF \
+	-DLLAMA_BUILD_EXAMPLES=OFF \
+	-DLLAMA_FATAL_WARNINGS=OFF
+
+ifeq ($(BR2_PACKAGE_CURL),y)
+LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=ON
+LLAMA_CPP_DEPENDENCIES += libcurl
+else
+LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LLAMA_CPP_TOOLS),y)
+LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=ON
+endif
+
+ifeq ($(BR2_PACKAGE_LLAMA_CPP_SERVER),y)
+LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=ON
+endif
+
+ifeq ($(BR2_PACKAGE_LLAMA_CPP_VULKAN),y)
+LLAMA_CPP_DEPENDENCIES += vulkan-loader
+LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=ON
+endif
+
+ifeq ($(BR2_PACKAGE_OPENBLAS),y)
+LLAMA_CPP_DEPENDENCIES += openblas
+LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
+endif
+
+$(eval $(cmake-package))

---
base-commit: f23c810176305604c54b79611d885547f4e45c23
change-id: 20250618-llama-cpp-d3fc28b4562f

Best regards,
-- 
Joseph Kogut <joseph.kogut@gmail.com>

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH v2] package/llama-cpp: new package
  2025-10-22 17:35 [Buildroot] [PATCH v2] package/llama-cpp: new package Joseph Kogut
@ 2025-10-23 21:10 ` Julien Olivain via buildroot
  2025-10-23 21:13   ` Joseph Kogut
  0 siblings, 1 reply; 3+ messages in thread
From: Julien Olivain via buildroot @ 2025-10-23 21:10 UTC (permalink / raw)
  To: Joseph Kogut; +Cc: buildroot

Hi Joseph,

Thanks for this patch. I have few comments, see below.

On 22/10/2025 19:35, Joseph Kogut wrote:
> Add a package for llama.cpp, a C/C++ LLM inference library, used in
> popular projects like Ollama, RamaLama, and more.
> 
> Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> ---
[...]
> diff --git a/package/llama-cpp/Config.in b/package/llama-cpp/Config.in
> new file mode 100644
> index 0000000000..5bba0067cf
> --- /dev/null
> +++ b/package/llama-cpp/Config.in
> @@ -0,0 +1,36 @@

For restricting this package to some architectures, could you
use the "standard" _ARCH_SUPPORTS pattern, at the beginning of the
file, please?  Like:

config BR2_PACKAGE_LLAMA_CPP_ARCH_SUPPORTS
	bool
	default y
	depends on !BR2_s390x
	depends on !BR2_riscv

> +config BR2_PACKAGE_LLAMA_CPP
> +	bool "llama.cpp"
> +	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL

I don't think this libc restriction is needed. This package could build
correctly with uClibc too. It will just need to select libexecinfo
when uclibc is used.

Then, the dependency on the newly introduced _ARCH_SUPPORTS
needs to be added.

I think this package will likely also depends on having a toolchain
with C++.

> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
> +	depends on !BR2_s390x
> +	depends on !BR2_riscv

Those dependencies on architectures could be removed, with the
_ARCH_SUPPORTS.

> +	help
> +	  LLM inference in C/C++

In Buildroot help strings, we usually add the upstream homepage url.

With those comments, the block should become:

config BR2_PACKAGE_LLAMA_CPP
	bool "llama.cpp"
	depends on BR2_PACKAGE_LLAMA_CPP_ARCH_SUPPORTS
	depends on BR2_INSTALL_LIBSTDCPP
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
	select BR2_PACKAGE_LIBEXECINFO if BR2_TOOLCHAIN_USES_UCLIBC
	help
	  LLM inference in C/C++

	  https://github.com/ggml-org/llama.cpp

> +
> +comment "llama-cpp needs glibc or musl toolchain w/ c++, gcc >= 9"
> +	depends on !BR2_INSTALL_LIBSTDCPP \
> +		|| !BR2_TOOLCHAIN_GCC_AT_LEAST_9 \
> +		|| (!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL)

To keep a correct indentation in Kconfig, this comment should be
moved at the end of the Config.in file. Please also adjust the
condition accordingly (i.e. remove conditions on libc).

> +
> +if BR2_PACKAGE_LLAMA_CPP
> +
> +config BR2_PACKAGE_LLAMA_CPP_TOOLS
> +	bool "Enable tools"
> +	help
> +	  Build CLI tools like llama-cli, llama-bench, etc.
> +
> +config BR2_PACKAGE_LLAMA_CPP_SERVER
> +	bool "Enable server"
> +	help
> +	  Build OpenAI API-compatible web server, llama-server.
> +
> +config BR2_PACKAGE_LLAMA_CPP_VULKAN
> +	bool "Vulkan support"
> +	depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader

This dependency should not be needed here, since we'll have it
in BR2_PACKAGE_LLAMA_CPP.

> +	depends on !BR2_STATIC_LIBS # vulkan-loader
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
> +	select BR2_PACKAGE_VULKAN_HEADERS
> +	select BR2_PACKAGE_VULKAN_LOADER
> +	help
> +	  Enable Vulkan backend for GPU acceleration.
> +endif
[...]
> diff --git a/package/llama-cpp/llama-cpp.mk 
> b/package/llama-cpp/llama-cpp.mk
> new file mode 100644
> index 0000000000..92dde059d2
> --- /dev/null
> +++ b/package/llama-cpp/llama-cpp.mk
> @@ -0,0 +1,43 @@
> +################################################################################
> +#
> +# llama.cpp
> +#
> +################################################################################
> +
> +LLAMA_CPP_VERSION = 6818
> +LLAMA_CPP_SOURCE = b$(LLAMA_CPP_VERSION).tar.gz
> +LLAMA_CPP_SITE = 
> https://github.com/ggml-org/llama.cpp/archive/refs/tags
> +LLAMA_CPP_LICENSE = MIT
> +LLAMA_CPP_LICENSE_FILES = LICENSE
> +LLAMA_CPP_INSTALL_STAGING = YES
> +LLAMA_CPP_CONF_OPTS = \
> +	-DLLAMA_BUILD_TESTS=OFF \
> +	-DLLAMA_BUILD_EXAMPLES=OFF \
> +	-DLLAMA_FATAL_WARNINGS=OFF
> +
> +ifeq ($(BR2_PACKAGE_CURL),y)

In Buildroot, the symbol for cURL is BR2_PACKAGE_LIBCURL.
So this line should become:

ifeq ($(BR2_PACKAGE_LIBCURL),y)

This can be detected by the check command:
utils/check-symbols

> +LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=ON
> +LLAMA_CPP_DEPENDENCIES += libcurl
> +else
> +LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=OFF
> +endif

Here, you could add the dependency for libexecinfo, to support uclibc.

ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
LLAMA_CPP_DEPENDENCIES += libexecinfo
LLAMA_CPP_LDFLAGS += -lexecinfo
endif

> +
> +ifeq ($(BR2_PACKAGE_LLAMA_CPP_TOOLS),y)
> +LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=ON

Here, you should handle the case which disable the tools,
adding:

else
LAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=OFF

> +endif
> +
> +ifeq ($(BR2_PACKAGE_LLAMA_CPP_SERVER),y)
> +LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=ON

Same comment for the _SERVER, adding:

else
LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=OFF

> +endif
> +
> +ifeq ($(BR2_PACKAGE_LLAMA_CPP_VULKAN),y)
> +LLAMA_CPP_DEPENDENCIES += vulkan-loader
> +LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=ON

Same comment. Adding here:

else
LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=OFF

> +endif
> +
> +ifeq ($(BR2_PACKAGE_OPENBLAS),y)
> +LLAMA_CPP_DEPENDENCIES += openblas
> +LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS

Same comment. Adding here:

else
LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=OFF

> +endif

Finally, for handling the libexecinfo for uclibc, we need
to pass the ldflags:

LLAMA_CPP_CONF_OPTS += \
        -DCMAKE_EXE_LINKER_FLAGS="$(LLAMA_CPP_LDFLAGS)"

> +
> +$(eval $(cmake-package))
> 
> ---
> base-commit: f23c810176305604c54b79611d885547f4e45c23
> change-id: 20250618-llama-cpp-d3fc28b4562f
> 
> Best regards,
> --
> Joseph Kogut <joseph.kogut@gmail.com>

Could you send an updated patch including those changes, please?

Best regards,

Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Buildroot] [PATCH v2] package/llama-cpp: new package
  2025-10-23 21:10 ` Julien Olivain via buildroot
@ 2025-10-23 21:13   ` Joseph Kogut
  0 siblings, 0 replies; 3+ messages in thread
From: Joseph Kogut @ 2025-10-23 21:13 UTC (permalink / raw)
  To: Julien Olivain; +Cc: buildroot

Hello Julien,

On Thu, Oct 23, 2025 at 2:10 PM Julien Olivain <ju.o@free.fr> wrote:
>
> Hi Joseph,
>
> Thanks for this patch. I have few comments, see below.
>
> On 22/10/2025 19:35, Joseph Kogut wrote:
> > Add a package for llama.cpp, a C/C++ LLM inference library, used in
> > popular projects like Ollama, RamaLama, and more.
> >
> > Signed-off-by: Joseph Kogut <joseph.kogut@gmail.com>
> > ---
> [...]
> > diff --git a/package/llama-cpp/Config.in b/package/llama-cpp/Config.in
> > new file mode 100644
> > index 0000000000..5bba0067cf
> > --- /dev/null
> > +++ b/package/llama-cpp/Config.in
> > @@ -0,0 +1,36 @@
>
> For restricting this package to some architectures, could you
> use the "standard" _ARCH_SUPPORTS pattern, at the beginning of the
> file, please?  Like:
>
> config BR2_PACKAGE_LLAMA_CPP_ARCH_SUPPORTS
>         bool
>         default y
>         depends on !BR2_s390x
>         depends on !BR2_riscv
>
> > +config BR2_PACKAGE_LLAMA_CPP
> > +     bool "llama.cpp"
> > +     depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL
>
> I don't think this libc restriction is needed. This package could build
> correctly with uClibc too. It will just need to select libexecinfo
> when uclibc is used.
>
> Then, the dependency on the newly introduced _ARCH_SUPPORTS
> needs to be added.
>
> I think this package will likely also depends on having a toolchain
> with C++.
>
> > +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
> > +     depends on !BR2_s390x
> > +     depends on !BR2_riscv
>
> Those dependencies on architectures could be removed, with the
> _ARCH_SUPPORTS.
>
> > +     help
> > +       LLM inference in C/C++
>
> In Buildroot help strings, we usually add the upstream homepage url.
>
> With those comments, the block should become:
>
> config BR2_PACKAGE_LLAMA_CPP
>         bool "llama.cpp"
>         depends on BR2_PACKAGE_LLAMA_CPP_ARCH_SUPPORTS
>         depends on BR2_INSTALL_LIBSTDCPP
>         depends on BR2_TOOLCHAIN_GCC_AT_LEAST_9
>         select BR2_PACKAGE_LIBEXECINFO if BR2_TOOLCHAIN_USES_UCLIBC
>         help
>           LLM inference in C/C++
>
>           https://github.com/ggml-org/llama.cpp
>
> > +
> > +comment "llama-cpp needs glibc or musl toolchain w/ c++, gcc >= 9"
> > +     depends on !BR2_INSTALL_LIBSTDCPP \
> > +             || !BR2_TOOLCHAIN_GCC_AT_LEAST_9 \
> > +             || (!BR2_TOOLCHAIN_USES_GLIBC && !BR2_TOOLCHAIN_USES_MUSL)
>
> To keep a correct indentation in Kconfig, this comment should be
> moved at the end of the Config.in file. Please also adjust the
> condition accordingly (i.e. remove conditions on libc).
>
> > +
> > +if BR2_PACKAGE_LLAMA_CPP
> > +
> > +config BR2_PACKAGE_LLAMA_CPP_TOOLS
> > +     bool "Enable tools"
> > +     help
> > +       Build CLI tools like llama-cli, llama-bench, etc.
> > +
> > +config BR2_PACKAGE_LLAMA_CPP_SERVER
> > +     bool "Enable server"
> > +     help
> > +       Build OpenAI API-compatible web server, llama-server.
> > +
> > +config BR2_PACKAGE_LLAMA_CPP_VULKAN
> > +     bool "Vulkan support"
> > +     depends on BR2_INSTALL_LIBSTDCPP # vulkan-loader
>
> This dependency should not be needed here, since we'll have it
> in BR2_PACKAGE_LLAMA_CPP.
>
> > +     depends on !BR2_STATIC_LIBS # vulkan-loader
> > +     depends on BR2_TOOLCHAIN_HAS_THREADS # vulkan-loader
> > +     select BR2_PACKAGE_VULKAN_HEADERS
> > +     select BR2_PACKAGE_VULKAN_LOADER
> > +     help
> > +       Enable Vulkan backend for GPU acceleration.
> > +endif
> [...]
> > diff --git a/package/llama-cpp/llama-cpp.mk
> > b/package/llama-cpp/llama-cpp.mk
> > new file mode 100644
> > index 0000000000..92dde059d2
> > --- /dev/null
> > +++ b/package/llama-cpp/llama-cpp.mk
> > @@ -0,0 +1,43 @@
> > +################################################################################
> > +#
> > +# llama.cpp
> > +#
> > +################################################################################
> > +
> > +LLAMA_CPP_VERSION = 6818
> > +LLAMA_CPP_SOURCE = b$(LLAMA_CPP_VERSION).tar.gz
> > +LLAMA_CPP_SITE =
> > https://github.com/ggml-org/llama.cpp/archive/refs/tags
> > +LLAMA_CPP_LICENSE = MIT
> > +LLAMA_CPP_LICENSE_FILES = LICENSE
> > +LLAMA_CPP_INSTALL_STAGING = YES
> > +LLAMA_CPP_CONF_OPTS = \
> > +     -DLLAMA_BUILD_TESTS=OFF \
> > +     -DLLAMA_BUILD_EXAMPLES=OFF \
> > +     -DLLAMA_FATAL_WARNINGS=OFF
> > +
> > +ifeq ($(BR2_PACKAGE_CURL),y)
>
> In Buildroot, the symbol for cURL is BR2_PACKAGE_LIBCURL.
> So this line should become:
>
> ifeq ($(BR2_PACKAGE_LIBCURL),y)
>
> This can be detected by the check command:
> utils/check-symbols
>
> > +LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=ON
> > +LLAMA_CPP_DEPENDENCIES += libcurl
> > +else
> > +LLAMA_CPP_CONF_OPTS += -DLLAMA_CURL=OFF
> > +endif
>
> Here, you could add the dependency for libexecinfo, to support uclibc.
>
> ifeq ($(BR2_PACKAGE_LIBEXECINFO),y)
> LLAMA_CPP_DEPENDENCIES += libexecinfo
> LLAMA_CPP_LDFLAGS += -lexecinfo
> endif
>
> > +
> > +ifeq ($(BR2_PACKAGE_LLAMA_CPP_TOOLS),y)
> > +LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=ON
>
> Here, you should handle the case which disable the tools,
> adding:
>
> else
> LAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_TOOLS=OFF
>
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_LLAMA_CPP_SERVER),y)
> > +LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=ON
>
> Same comment for the _SERVER, adding:
>
> else
> LLAMA_CPP_CONF_OPTS += -DLLAMA_BUILD_SERVER=OFF
>
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_LLAMA_CPP_VULKAN),y)
> > +LLAMA_CPP_DEPENDENCIES += vulkan-loader
> > +LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=ON
>
> Same comment. Adding here:
>
> else
> LLAMA_CPP_CONF_OPTS += -DGGML_VULKAN=OFF
>
> > +endif
> > +
> > +ifeq ($(BR2_PACKAGE_OPENBLAS),y)
> > +LLAMA_CPP_DEPENDENCIES += openblas
> > +LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=ON -DGGML_BLAS_VENDOR=OpenBLAS
>
> Same comment. Adding here:
>
> else
> LLAMA_CPP_CONF_OPTS += -DGGML_BLAS=OFF
>
> > +endif
>
> Finally, for handling the libexecinfo for uclibc, we need
> to pass the ldflags:
>
> LLAMA_CPP_CONF_OPTS += \
>         -DCMAKE_EXE_LINKER_FLAGS="$(LLAMA_CPP_LDFLAGS)"
>
> > +
> > +$(eval $(cmake-package))
> >
> > ---
> > base-commit: f23c810176305604c54b79611d885547f4e45c23
> > change-id: 20250618-llama-cpp-d3fc28b4562f
> >
> > Best regards,
> > --
> > Joseph Kogut <joseph.kogut@gmail.com>
>
> Could you send an updated patch including those changes, please?
>

Absolutely, thank you for taking the time to give such a thorough and
well explained review. I'll follow up.

> Best regards,
>
> Julien.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-10-23 21:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-22 17:35 [Buildroot] [PATCH v2] package/llama-cpp: new package Joseph Kogut
2025-10-23 21:10 ` Julien Olivain via buildroot
2025-10-23 21:13   ` Joseph Kogut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox