#1151530 xmrig: FTBFS with fmt 12.2: missing fmt/format.h include

#1151530#5
Date:
2026-10-21 13:31:59 UTC
From:
To:
xmrig 6.26.0+dfsg-1 fails to build with fmtlib 12.2.0+ds1-2 from
experimental during the fmtlib transition rebuild on arm64.

To reproduce, rebuild xmrig in a clean sid build environment with
libfmt-dev and libfmt12 12.2.0+ds1-2 from experimental.

LinuxMemory.cpp includes "3rdparty/fmt/core.h", which debian/rules
redirects to /usr/include/fmt. In fmt 12.2, core.h includes base.h rather
than format.h by default, so these calls need an explicit fmt/format.h
include:

  src/crypto/common/LinuxMemory.cpp:68:17: error: ‘format’ is not a member of ‘fmt’
     68 |     return fmt::format("/sys/devices/system/node/node{}/hugepages/hugepages-{}kB/{}_hugepages", node, hugePageSize / 1024, nr ? "nr" : "free");
        |                 ^~~~~~
  src/crypto/common/LinuxMemory.cpp:74:17: error: ‘format’ is not a member of ‘fmt’
     74 |     return fmt::format("/sys/kernel/mm/hugepages/hugepages-{}kB/{}_hugepages", hugePageSize / 1024, nr ? "nr" : "free");
        |                 ^~~~~~

This is distinct from #1086567, the fmt 10 failure involving the
xmrig::String formatter, fixed in 6.22.2+dfsg-2.

The full build log is attached.