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.