Skip to content

Build fails on Debian 13: fmt cannot format ICU UErrorCode in src/utils/slugify.cpp #28

@crystarm

Description

@crystarm

Environment

  • OS: Debian GNU/Linux 13 (trixie)
  • Kernel: 6.12.74+deb13+1-amd64
  • Compiler: g++ 14.2.0
  • CMake: 3.31.6
  • Python: 3.13.5
  • Ninja: 1.12.1
  • libfmt-dev: 10.1.1+ds1-4
  • libicu-dev: 76.1-4
  • libre2-dev: 20240702-3+b1
  • libabsl-dev: 20240722.0-4

Reproduction

  1. Configure:
    cmake -B build_release -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DUSERVER_FORCE_DOWNLOAD_RE2=ON
  2. Build:
    cmake --build build_release -j 8 --target realmedium_sample

What happened

The build failed in src/utils/slugify.cpp at fmt::format(..., status), where status is ICU’s UErrorCode. On Debian 13 with fmt 10.1.x, this type is not considered formattable, so compilation stops with Cannot format an argument and type_is_unformattable_for<UErrorCode, char>. This is not a runtime service bug, but a compile-time type-formatting incompatibility.

Check the attached log!! repro.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions