Skip to content

[Bug] RPC build broken at HEAD: static assertion GGML_OP_COUNT (66c1a28 added GGML_OP_ROPE_APPLY without bumping RPC proto version) #2114

Description

@Koreprobro

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

  1. Clone stable-diffusion.cpp at master (228c707) with up-to-date submodules.
  2. Configure with RPC enabled (-DSD_RPC=ON).
  3. 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.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions