Skip to content

Conversation

@furrysalamander
Copy link
Contributor

While working on a Yocto recipe for llama.cpp, I got some QA errors because the so files don't have a version set. This is an easy enough fix, you just have to specify one in Cmake.

I've done my best to set these with what I understand are appropriate values, but if I'm pulling in inappropriate variables for any of these, by all means let's fix them. The mtmd stuff in particular seemed a bit ambiguous, but even though it's a "subproject" I imagine the desire (for now) is to still release (and version) it together with llama.cpp as a whole?

@github-actions github-actions bot added Nvidia GPU Issues specific to Nvidia GPUs Vulkan Issues specific to the Vulkan backend examples ggml changes relating to the ggml tensor library for machine learning SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language Apple Metal https://en.wikipedia.org/wiki/Metal_(API) Ascend NPU issues specific to Ascend NPUs OpenCL Issues specific to the OpenCL backend IBM zDNN issues specific to IBM zDNN Accelerator labels Nov 7, 2025
Comment on lines 18 to 21
set_target_properties(ggml-blas PROPERTIES
VERSION ${GGML_VERSION}
SOVERSION ${GGML_VERSION_MAJOR}
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer this in ggml_add_backend_library, rather than duplicating it for every backend.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call, I'll get that fixed on Monday.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slaren I've cleaned that up and updated the PR.

When compiling llama.cpp in Yocto, it fails QA checks because the generated so files aren't versioned.  This applies a version to all generated so files, allowing the package to build without errors.
@CISC CISC removed Nvidia GPU Issues specific to Nvidia GPUs Vulkan Issues specific to the Vulkan backend SYCL https://en.wikipedia.org/wiki/SYCL - GPU programming language Apple Metal https://en.wikipedia.org/wiki/Metal_(API) Ascend NPU issues specific to Ascend NPUs OpenCL Issues specific to the OpenCL backend IBM zDNN issues specific to IBM zDNN Accelerator labels Nov 10, 2025
@ggerganov ggerganov merged commit 4a5b8af into ggml-org:master Nov 11, 2025
71 of 72 checks passed
JamePeng added a commit to JamePeng/llama-cpp-python that referenced this pull request Nov 11, 2025
@andrew-aladev
Copy link

This merged pull request broke all docker containers.

@andrew-aladev
Copy link

andrew-aladev commented Nov 12, 2025

Hello @furrysalamander.

Please consider the following command ldd -v /app/llama-cli before your commit:

#15 0.206       libllama.so.0 => not found
#15 0.206       libggml.so.0 => not found
#15 0.206       libggml-base.so.0 => not found

And the same after your commit:

#15 0.203       libllama.so => not found
#15 0.203       libggml.so => not found
#15 0.203       libggml-base.so => not found

Why have you removed .0 from .so files?

@andrew-aladev
Copy link

andrew-aladev commented Nov 12, 2025

Related issues: #17190, #17176, #17193

@andrew-aladev
Copy link

Hello @slaren, I see we have an excellent docker workflow for github actions. Why this workflow is not used for validating pull requests? Please just enable it in github settings.

@furrysalamander
Copy link
Contributor Author

I'm taking a look at this now.

@furrysalamander
Copy link
Contributor Author

furrysalamander commented Nov 12, 2025

Okay, I think I've got the gist of it now. The library is getting linked against the .so.0 files now, but the docker builds are only grabbing the .so files and putting them in the container.
image
image
image
All of them are being generated still as far as I can tell.

https://github.com/ggml-org/llama.cpp/blob/master/.devops/cuda.Dockerfile#L27-L28

@JamePeng
Copy link

This change has no effect on compiling dynamic link libraries for Windows; in fact, it may cause CMake variables to be unavailable. You should consider the compilation requirements for different platforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

examples ggml changes relating to the ggml tensor library for machine learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants