Repository navigation
CMake: declare BUILD_TESTING before any subproject; llama.cpp b11457 → b11462 - #480
Conversation
The CUDA build of the Publish run on main (37550451678) failed linking jllama_test: gtest discovery runs the binary at build time and it needs libcuda.so.1, which the GPU-less runner does not have. The job does not ask for tests at all. Since the llama.cpp bump our CUDA builds pass -DGGML_CUDA_CCCL_VERSION=v3.4.3, so ggml fetches CCCL, and CCCL's CMakeLists calls include(CTest) unconditionally -- which creates BUILD_TESTING as a cache variable defaulting to ON before our option(BUILD_TESTING ... OFF) runs, turning it into a no-op. The last green CUDA build (36935020061) never built jllama_test. The option is now declared before the first FetchContent_MakeAvailable(). Reproduced without CUDA by injecting include(CTest) into ggml's project() call (CMAKE_PROJECT_ggml_INCLUDE): before the change BUILD_TESTING ends up ON and jllama_test is generated, after it stays OFF; -DBUILD_TESTING=ON still enables the tests. The Windows CUDA job passes the same pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
One upstream commit, #30067: the Hexagon backend's copy/concat overhaul. No natives jar builds Hexagon, so nothing in it reaches a shipped library; 112 KiB, but a single commit cannot be split. All ten patches apply unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Four commits, backends only: SYCL drops its separate flash-attention KV buffers (#27689; its CMakeLists globs the sources) and gains an IQ3_S multi-column MMVQ (#29500), Vulkan reads AMD UMA memory through the device copy path instead of the slow write-combined mapping (#30049), WebGPU (#27069, not built). All ten patches apply unchanged; b11462 is the newest release. CLAUDE.md now records why BUILD_TESTING must be declared before the subprojects (CCCL's include(CTest)), next to the CCCL pin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
|
Review Summary This PR fixes a CMake BUILD_TESTING cache-variable shadowing issue and bumps llama.cpp to b11462. CMake Fix Status: Correct. The option(BUILD_TESTING OFF) is now declared before any FetchContent_MakeAvailable(), preventing CCCLs unconditional include(CTest) from creating a conflicting cache variable. The explanation in both CMakeLists.txt and CLAUDE.md is clear and references the exact CUDA job failure. Users can still enable tests with -DBUILD_TESTING=ON. Version Bump Status: Methodical and correct. All 10 patches apply unchanged. Backend changes only upstream (Hexagon, SYCL, Vulkan, WebGPU). All version references updated: CMakeLists.txt, README.md, CLAUDE.md, LlamaCppVersion.java, CHANGELOG.md, docs/history/llama-cpp-breaking-changes.md. Test Coverage
Verdict: No issues found. Ready to merge. |
|



Summary
jllama_test's gtest discovery could not loadlibcuda.so.1(Linux) ornvcuda.dll(Windows,0xc0000135).-DGGML_CUDA_CCCL_VERSION=v3.4.3) makes ggml fetch CCCL, and CCCL callsinclude(CTest)unconditionally. That createsBUILD_TESTINGas a cache variable defaulting to ON. Ouroption(BUILD_TESTING ... OFF)was declared after the firstFetchContent_MakeAvailable(), so it was a no-op and both CUDA jobs built the tests.llama/CMakeLists.txt, before any subproject.-DBUILD_TESTING=ONstill enables the tests.CLAUDE.mdnotes why the option has to stay there..githubchanges upstream.0016stays.docs/history/llama-cpp-breaking-changes.md; the pin is updated in CMake, README, CLAUDE.md andLlamaCppVersion.Test plan
BUILD_TESTING=ONandjllama_testgenerated;-DBUILD_TESTING=ONstill builds the tests.ctest598/598 passed, including the Kolibri-1 tests.mvn clean testwithNativeLibraryLoadSmokeTestandLlamaLoggerTest: 10 tests, 0 skipped. This includes the check that the linked build info matchesLlamaCppVersion(b11462).Related issues / PRs
Follows #479. Fixes the CUDA failures of run 37550451678.
🤖 Generated with Claude Code
https://claude.ai/code/session_01AytmJF9faEiQEVt6eetQS2
Generated by Claude Code