Git commit
stable-diffusion.cpp: 228c707 (master-948-228c707)
ggml submodule (leejet/ggml, branch sd.cpp): 66c1a28 ("ggml : add precomputed RoPE apply op for CPU, CUDA and Vulkan", 2026-10-09)
Operating System & Version
Gentoo Linux, kernel 6.18.54, GCC 16.2.1, CMake 4.3.4, Ninja, CUDA toolkit 13.4 (driver 595.104)
GGML backends
CPU (failure is in the RPC backend compile step; unrelated to the accelerator in use)
Command-line arguments used
Any build with the RPC backend enabled, e.g. the Gentoo ebuild for sci-misc/stable-diffusion-cpp which hardcodes -DSD_RPC=ON, or manually:
cmake -B build -DSD_BUILD_EXAMPLES=ON -DSD_CUDA=ON -DSD_RPC=ON && cmake --build build
Steps to reproduce
- Clone stable-diffusion.cpp at master (228c707) with up-to-date submodules.
- Configure with RPC enabled (-DSD_RPC=ON).
- Build. Compilation of ggml/src/ggml-rpc/ggml-rpc.cpp fails.
What you expected to happen
Build completes. The static assertion in ggml-rpc.h is there precisely to catch op-count changes and force a protocol version bump.
What actually happened
FAILED: ggml/src/ggml-rpc/CMakeFiles/ggml-rpc.dir/ggml-rpc.cpp.o
.../ggml/src/../include/ggml-rpc.h:14:29: error: static assertion failed: GGML_OP_COUNT has changed - update RPC_PROTO_PATCH_VERSION
Root cause
ggml commit 66c1a28 added GGML_OP_ROPE_APPLY to enum ggml_op (op count 104 -> 105) but did not update include/ggml-rpc.h: the static assertion still expects GGML_OP_COUNT == 104 and RPC_PROTO_PATCH_VERSION was not bumped. The RPC build is broken at sd.cpp HEAD as a result.
Fix proposed in PR: leejet/ggml#12 (bumps RPC_PROTO_PATCH_VERSION 2 -> 3 and the asserted op count 104 -> 105).
Additional context / environment details
3x RTX 5070 Ti (Blackwell), EPYC 7453, 251 GiB RAM. The Gentoo ebuild (guru overlay, sci-misc/stable-diffusion-cpp-9999) always builds with SD_RPC=ON, so this blocks every install from current master until the bump lands.
This report was prepared by an AI assistant (Cline) on behalf of the user.
Git commit
stable-diffusion.cpp:
228c707(master-948-228c707)ggml submodule (leejet/ggml, branch sd.cpp):
66c1a28("ggml : add precomputed RoPE apply op for CPU, CUDA and Vulkan", 2026-10-09)Operating System & Version
Gentoo Linux, kernel 6.18.54, GCC 16.2.1, CMake 4.3.4, Ninja, CUDA toolkit 13.4 (driver 595.104)
GGML backends
CPU (failure is in the RPC backend compile step; unrelated to the accelerator in use)
Command-line arguments used
Any build with the RPC backend enabled, e.g. the Gentoo ebuild for sci-misc/stable-diffusion-cpp which hardcodes
-DSD_RPC=ON, or manually:cmake -B build -DSD_BUILD_EXAMPLES=ON -DSD_CUDA=ON -DSD_RPC=ON && cmake --build buildSteps to reproduce
What you expected to happen
Build completes. The static assertion in ggml-rpc.h is there precisely to catch op-count changes and force a protocol version bump.
What actually happened
Root cause
ggml commit 66c1a28 added
GGML_OP_ROPE_APPLYtoenum ggml_op(op count 104 -> 105) but did not updateinclude/ggml-rpc.h: the static assertion still expectsGGML_OP_COUNT == 104andRPC_PROTO_PATCH_VERSIONwas not bumped. The RPC build is broken at sd.cpp HEAD as a result.Fix proposed in PR: leejet/ggml#12 (bumps RPC_PROTO_PATCH_VERSION 2 -> 3 and the asserted op count 104 -> 105).
Additional context / environment details
3x RTX 5070 Ti (Blackwell), EPYC 7453, 251 GiB RAM. The Gentoo ebuild (guru overlay, sci-misc/stable-diffusion-cpp-9999) always builds with SD_RPC=ON, so this blocks every install from current master until the bump lands.
This report was prepared by an AI assistant (Cline) on behalf of the user.