From bd4d166c6f4ff78ece83b444fe52f512a984c512 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Sat, 27 Jun 2026 23:41:50 +0000 Subject: [PATCH] fix(ik-llama): align json alias to ordered_json to resolve mtmd.h conflict (#10534) mtmd.h declares `using json = nlohmann::ordered_json` at global scope (and its mtmd.cpp depends on it), while ik_llama's whole server/common stack also uses ordered_json. Our grpc-server.cpp/utils.hpp kept a plain `nlohmann::json` alias, which now collides with mtmd.h once it is included for the multimodal port: "conflicting declaration 'using json = ...'". Switch our two aliases to ordered_json to match; it is API-compatible (utils.hpp already used ordered_json for its log helper) and our json never crosses into an unordered-json API. Signed-off-by: Ettore Di Giacinto Assisted-by: Claude:claude-opus-4-8 [Claude Code] --- backend/cpp/ik-llama-cpp/grpc-server.cpp | 4 +++- backend/cpp/ik-llama-cpp/utils.hpp | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/cpp/ik-llama-cpp/grpc-server.cpp b/backend/cpp/ik-llama-cpp/grpc-server.cpp index 578d69034..96eea3b58 100644 --- a/backend/cpp/ik-llama-cpp/grpc-server.cpp +++ b/backend/cpp/ik-llama-cpp/grpc-server.cpp @@ -45,7 +45,9 @@ using backend::HealthMessage; ///// LLAMA.CPP server code below -using json = nlohmann::json; +// Match mtmd.h and ik_llama's server/common headers, which all use +// nlohmann::ordered_json; a plain nlohmann::json alias collides at global scope. +using json = nlohmann::ordered_json; struct server_params { diff --git a/backend/cpp/ik-llama-cpp/utils.hpp b/backend/cpp/ik-llama-cpp/utils.hpp index 4427d4b91..f0e599212 100644 --- a/backend/cpp/ik-llama-cpp/utils.hpp +++ b/backend/cpp/ik-llama-cpp/utils.hpp @@ -13,7 +13,10 @@ #include "mtmd.h" -using json = nlohmann::json; +// mtmd.h and ik_llama's entire server/common stack (chat.h, server-common.h, +// server-task.h, ...) declare `using json = nlohmann::ordered_json`, so match it +// here: a plain `nlohmann::json` alias collides with mtmd.h's at global scope. +using json = nlohmann::ordered_json; extern bool server_verbose;