#1151526 blockattack: FTBFS with fmt 12.2 (fmt/core.h no longer provides fmt::format)

#1151526#5
Date:
2026-10-21 12:31:44 UTC
From:
To:
blockattack 2.10.0-1 fails to build in sid on arm64 with fmtlib
12.2.0+ds1-2 from experimental during the fmtlib transition rebuild:

https://release.debian.org/transitions/html/auto-fmtlib.html

To reproduce, rebuild the unmodified source in a clean sid build environment
with libfmt-dev and libfmt12 12.2.0+ds1-2 from experimental installed.
No rebuilt spdlog dependency is needed for blockattack.

fmt 12.2's fmt/core.h includes base.h rather than format.h by default:

https://raw.githubusercontent.com/fmtlib/fmt/12.2.0/include/fmt/core.h

source/code/ScoresDisplay.cpp includes <fmt/core.h> but calls fmt::format.
It needs <fmt/format.h> explicitly; similar errors occur in other source
files. This identifies the observed compilation failure, not a verified
complete fix; no consumer source changes were made in this rebuild.

Relevant build-log excerpt:

/build/reproducible-path/blockattack-2.10.0/source/code/ScoresDisplay.cpp:194:46: error: ‘format’ is not a member of ‘fmt’
  194 |         Write(globalData.screen, 10, y, fmt::format( _("Days: {}"), ct.days) );
      |                                              ^~~~~~
/build/reproducible-path/blockattack-2.10.0/source/code/ScoresDisplay.cpp:196:46: error: ‘format’ is not a member of ‘fmt’
  196 |         Write(globalData.screen, 10, y, fmt::format( _("Hours: {:02}"), ct.hours) );
      |                                              ^~~~~~

The full build log is attached.