Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[package] fmt/11.0.2: fmt is broken for Clang 20 with C++20 #26169

Open
skhaz opened this issue Dec 11, 2024 · 2 comments · May be fixed by #26177
Open

[package] fmt/11.0.2: fmt is broken for Clang 20 with C++20 #26169

skhaz opened this issue Dec 11, 2024 · 2 comments · May be fixed by #26177
Assignees
Labels
bug Something isn't working requires reporter action Waiting on issue reporter

Comments

@skhaz
Copy link
Contributor

skhaz commented Dec 11, 2024

Description

fmt/11.0.2: Running CMake.build()
fmt/11.0.2: RUN: cmake --build "/root/.conan2/p/b/fmtb7c687e013e73/b/build/Release" -- -j8
[ 66%] Building CXX object CMakeFiles/fmt.dir/src/os.cc.o
[ 66%] Building CXX object CMakeFiles/fmt.dir/src/format.cc.o
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:176:35: error: call to consteval function 'fmt::basic_format_string<char, const char *>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
  176 |     FMT_THROW(system_error(errno, FMT_STRING("cannot open file {}"),
      |                                   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"cannot open file {}"[18])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"cannot open file {}"[18], &"cannot open file {}"[18])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"cannot open file {}"[18])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, const char *> &>(&"cannot open file {}"[18], &"cannot open file {}"[19], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, const char *>>({&"cannot open file {}"[0], 19}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:176:35: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot open file {}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("cannot open file {}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
  176 |     FMT_THROW(system_error(errno, FMT_STRING("cannot open file {}"),
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  177 |                            filename.c_str()));
      |                            ~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:131:34: note: expanded from macro 'FMT_THROW'
  131 | #      define FMT_THROW(x) throw x
      |                                  ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:222:29: error: call to consteval function 'fmt::basic_format_string<char, const char *>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
  222 |         system_error(errno, FMT_STRING("cannot open file {}"), path.c_str()));
      |                             ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"cannot open file {}"[18])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"cannot open file {}"[18], &"cannot open file {}"[18])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"cannot open file {}"[18])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, const char *> &>(&"cannot open file {}"[18], &"cannot open file {}"[19], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, const char *>>({&"cannot open file {}"[0], 19}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:222:29: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot open file {}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("cannot open file {}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
  221 |     FMT_THROW(
      |     ~~~~~~~~~~
  222 |         system_error(errno, FMT_STRING("cannot open file {}"), path.c_str()));
      |         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:131:34: note: expanded from macro 'FMT_THROW'
  131 | #      define FMT_THROW(x) throw x
      |                                  ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:291:16: error: call to consteval function 'fmt::basic_format_string<char, int &>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
  291 |         errno, FMT_STRING("cannot duplicate file descriptor {}"), fd));
      |                ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"cannot duplicate file descriptor {}"[34])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"cannot duplicate file descriptor {}"[34], &"cannot duplicate file descriptor {}"[34])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"cannot duplicate file descriptor {}"[34])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2647:13: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, int> &>(&"cannot duplicate file descriptor {}"[34], &"cannot duplicate file descriptor {}"[35], checker(s))'
 2647 |     begin = parse_replacement_field(p, end, handler);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, int>>({&"cannot duplicate file descriptor {}"[0], 35}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:291:16: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot duplicate file descriptor {}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("cannot duplicate file descriptor {}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
  290 |     FMT_THROW(system_error(
      |     ~~~~~~~~~~~~~~~~~~~~~~~
  291 |         errno, FMT_STRING("cannot duplicate file descriptor {}"), fd));
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:131:34: note: expanded from macro 'FMT_THROW'
  131 | #      define FMT_THROW(x) throw x
      |                                  ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:300:16: error: call to consteval function 'fmt::basic_format_string<char, int &, int &>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
  300 |         errno, FMT_STRING("cannot duplicate file descriptor {} to {}"), fd_,
      |                ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"cannot duplicate file descriptor {} to {}"[34])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"cannot duplicate file descriptor {} to {}"[34], &"cannot duplicate file descriptor {} to {}"[34])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"cannot duplicate file descriptor {} to {}"[34])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2647:13: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, int, int> &>(&"cannot duplicate file descriptor {} to {}"[34], &"cannot duplicate file descriptor {} to {}"[41], checker(s))'
 2647 |     begin = parse_replacement_field(p, end, handler);
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, int, int>>({&"cannot duplicate file descriptor {} to {}"[0], 41}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/src/os.cc:300:16: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("cannot duplicate file descriptor {} to {}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("cannot duplicate file descriptor {} to {}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
  299 |     FMT_THROW(system_error(
      |     ~~~~~~~~~~~~~~~~~~~~~~~
  300 |         errno, FMT_STRING("cannot duplicate file descriptor {} to {}"), fd_,
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  301 |         fd));
      |         ~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:131:34: note: expanded from macro 'FMT_THROW'
  131 | #      define FMT_THROW(x) throw x
      |                                  ^
4 errors generated.
gmake[2]: *** [CMakeFiles/fmt.dir/build.make:92: CMakeFiles/fmt.dir/src/os.cc.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from /root/.conan2/p/b/fmtb7c687e013e73/b/src/src/format.cc:8:
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:59:24: error: call to consteval function 'fmt::basic_format_string<char, fmt::basic_string_view<char> &, const char (&)[3]>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
   59 |     fmt::format_to(it, FMT_STRING("{}{}"), message, SEP);
      |                        ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"{}{}"[1])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"{}{}"[1], &"{}{}"[1])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"{}{}"[1])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, fmt::basic_string_view<char>, char[3]> &>(&"{}{}"[1], &"{}{}"[4], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, fmt::basic_string_view<char>, char[3]>>({&"{}{}"[0], 4}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:59:24: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{}{}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("{}{}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
   59 |     fmt::format_to(it, FMT_STRING("{}{}"), message, SEP);
      |                        ^~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |       operator fmt::basic_string_view<char_type>() const {                    \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1813 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1814 |       }                                                                       \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1815 |     };                                                                        \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1816 |     return FMT_COMPILE_STRING();                                              \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1817 |   }()
      |   ~~~
In file included from /root/.conan2/p/b/fmtb7c687e013e73/b/src/src/format.cc:8:
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:60:22: error: call to consteval function 'fmt::basic_format_string<char, const char (&)[7], int &>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
   60 |   fmt::format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code);
      |                      ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"{}{}"[1])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"{}{}"[1], &"{}{}"[1])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"{}{}"[1])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, char[7], int> &>(&"{}{}"[1], &"{}{}"[4], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, char[7], int>>({&"{}{}"[0], 4}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:60:22: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{}{}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("{}{}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
   60 |   fmt::format_to(it, FMT_STRING("{}{}"), ERROR_STR, error_code);
      |                      ^~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |       operator fmt::basic_string_view<char_type>() const {                    \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1813 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1814 |       }                                                                       \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1815 |     };                                                                        \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1816 |     return FMT_COMPILE_STRING();                                              \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1817 |   }()
      |   ~~~
In file included from /root/.conan2/p/b/fmtb7c687e013e73/b/src/src/format.cc:8:
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1387:35: error: call to consteval function 'fmt::basic_format_string<char, unsigned int &>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
 1387 |         out = fmt::format_to(out, FMT_STRING("{:x}"), value);
      |                                   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"{:x}"[2])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2591:15: note: in call to 'handler.on_format_specs(0, &"{:x}"[2], &"{:x}"[4])'
 2591 |       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, unsigned int> &>(&"{:x}"[1], &"{:x}"[4], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, unsigned int>>({&"{:x}"[0], 4}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1387:35: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{:x}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("{:x}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
 1387 |         out = fmt::format_to(out, FMT_STRING("{:x}"), value);
      |                                   ^~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |       operator fmt::basic_string_view<char_type>() const {                    \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1813 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1814 |       }                                                                       \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1815 |     };                                                                        \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1816 |     return FMT_COMPILE_STRING();                                              \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1817 |   }()
      |   ~~~
In file included from /root/.conan2/p/b/fmtb7c687e013e73/b/src/src/format.cc:8:
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1391:33: error: call to consteval function 'fmt::basic_format_string<char, unsigned int &>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
 1391 |       out = fmt::format_to(out, FMT_STRING("{:08x}"), value);
      |                                 ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"{:08x}"[2])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2591:15: note: in call to 'handler.on_format_specs(0, &"{:08x}"[2], &"{:08x}"[6])'
 2591 |       begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, unsigned int> &>(&"{:08x}"[1], &"{:08x}"[6], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, unsigned int>>({&"{:08x}"[0], 6}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1391:33: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("{:08x}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("{:08x}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
 1391 |       out = fmt::format_to(out, FMT_STRING("{:08x}"), value);
      |                                 ^~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |       operator fmt::basic_string_view<char_type>() const {                    \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1813 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1814 |       }                                                                       \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1815 |     };                                                                        \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1816 |     return FMT_COMPILE_STRING();                                              \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1817 |   }()
      |   ~~~
In file included from /root/.conan2/p/b/fmtb7c687e013e73/b/src/src/format.cc:8:
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1394:33: error: call to consteval function 'fmt::basic_format_string<char, int>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression
 1394 |       out = fmt::format_to(out, FMT_STRING("p{}"),
      |                                 ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:779:54: note: subexpression not valid in a constant expression
  779 |     format_str_.remove_prefix(detail::to_unsigned(it - begin()));
      |                                                   ~~~^~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2761:5: note: in call to 'this->context_.advance_to(&"p{}"[2])'
 2761 |     context_.advance_to(begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2756:5: note: in call to 'this->on_format_specs(0, &"p{}"[2], &"p{}"[2])'
 2756 |     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2581:5: note: in call to 'handler.on_replacement_field(0, &"p{}"[2])'
 2581 |     handler.on_replacement_field(handler.on_arg_id(), begin);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2613:21: note: in call to 'parse_replacement_field<char, fmt::detail::format_string_checker<char, int> &>(&"p{}"[2], &"p{}"[3], checker(s))'
 2613 |         begin = p = parse_replacement_field(p - 1, end, handler);
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/base.h:2884:7: note: in call to 'parse_format_string<true, char, fmt::detail::format_string_checker<char, int>>({&"p{}"[0], 3}, checker(s))'
 2884 |       detail::parse_format_string<true>(str_, checker(s));
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format-inl.h:1394:33: note: in call to 'basic_format_string<FMT_COMPILE_STRING, 0>([] {
    struct __attribute__((visibility("hidden")))  FMT_COMPILE_STRING : fmt::detail::compile_string {
        using char_type [[maybe_unused]] = fmt::remove_cvref_t<decltype("p{}"[0])>;
        [[maybe_unused]] constexpr operator fmt::basic_string_view<char_type>() const {
            return fmt::detail_exported::compile_string_to_view<char_type>("p{}");
        }
    };
    return FMT_COMPILE_STRING();
}())'
 1394 |       out = fmt::format_to(out, FMT_STRING("p{}"),
      |                                 ^~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1827:23: note: expanded from macro 'FMT_STRING'
 1827 | #define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, )
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.conan2/p/b/fmtb7c687e013e73/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1807 |     /* Use the hidden visibility as a workaround for a GCC bug (#1973). */    \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1808 |     /* Use a macro-like name to avoid shadowing warnings. */                  \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1809 |     struct FMT_VISIBILITY("hidden") FMT_COMPILE_STRING : base {               \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1810 |       using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t<decltype(s[0])>; \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1811 |       FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit                                 \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1812 |       operator fmt::basic_string_view<char_type>() const {                    \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1813 |         return fmt::detail_exported::compile_string_to_view<char_type>(s);    \
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1814 |       }                                                                       \
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1815 |     };                                                                        \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1816 |     return FMT_COMPILE_STRING();                                              \
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1817 |   }()
      |   ~~~
5 errors generated.
gmake[2]: *** [CMakeFiles/fmt.dir/build.make:77: CMakeFiles/fmt.dir/src/format.cc.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/fmt.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

fmt/11.0.2: ERROR:
Package '86d78e9fd05cf36430681b96e796fefe2f8cd27d' build failed
fmt/11.0.2: WARN: Build folder /root/.conan2/p/b/fmtb7c687e013e73/b/build/Release
ERROR: fmt/11.0.2: Error in build() method, line 106
	cmake.build()
	ConanException: Error 2 while executing
Traceback (most recent call last):
  File "/opt/playground/watch.py", line 47, in main
    subprocess.run(
  File "/usr/lib/python3.11/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['conan', 'install', '.', '--output-folder=build', '--build=missing', '--profile=webassembly', '--settings', 'compiler.cppstd=20', '--settings', 'build_type=Release']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/playground/watch.py", line 98, in <module>
    main()
  File "/opt/playground/watch.py", line 80, in main
    raise RuntimeError(f"Failure in the build process with exit code {exc.returncode}") from exc
RuntimeError: Failure in the build process with exit code 1

Package and Environment Details

  • Package Name/Version: zlib/1.2.8
  • Operating System+version: Linux Ubuntu 18.04
  • Compiler+version: GCC 8
  • Docker image: conanio/gcc8
  • Conan version: conan 1.18.0
  • Python version: Python 3.7.4

Conan profile

include(default)

[settings]
arch=wasm
os=Emscripten

[tool_requires]
*: emsdk/3.1.72

Steps to reproduce

N/A

Logs

N/A

@skhaz skhaz added the bug Something isn't working label Dec 11, 2024
@AbrilRBS
Copy link
Member

Hi @skhaz thanks a lot for taking the time to report the issue.

Could you please provide a complete log of the Conan output with the failure? If there are more packages other than fmt failing, you can instead run something like conan install --requires=fmt/11.0.2 <rest-of-your-command-args>, which would help tremendously on trying to track down the issue.

Note that at first glance, if your logs are correct and you're compiling with GCC 8, then as per https://en.cppreference.com/w/cpp/compiler_support/20 consteval is not available until GCC 10, which would explain why you're seeing compilation errors regarding it, but we still need the full logs to have a clear idea

Also:
Docker image: conanio/gcc8
Conan version: conan 1.18.0

The image/conan version are quite old, but as per your compilation logs, you seem to be running Conan 2. Could you please clarify also what Conan version you're using? Thanks!

@AbrilRBS AbrilRBS added the requires reporter action Waiting on issue reporter label Dec 12, 2024
@skhaz
Copy link
Contributor Author

skhaz commented Dec 12, 2024

Hi @AbrilRBS, thank you so much. I also have reported on fmt repository.

FROM debian
WORKDIR /opt/playground
ENV PATH="/opt/playground/.venv/bin:$PATH"

RUN <<EOF
#!/usr/bin/env bash
set -euo pipefail

apt-get update
apt-get upgrade -y
apt-get install -y build-essential cmake python3-full

python3 -m venv .venv
. .venv/bin/activate
pip install conan

conan profile detect --force

conan install --build=* --requires=fmt/11.0.2
EOF

Running the docker above, I have no errors... 🧐

The logs

#7 30.57 Detected profile:
#7 30.57 WARN: This profile is a guess of your environment, please check it.
#7 30.57 WARN: The output of this command is not guaranteed to be stable and can change in future Conan versions.
#7 30.57 WARN: Use your own profile files for stability.
#7 30.57 Saving detected profile to /root/.conan2/profiles/default
#7 30.57 [settings]
#7 30.57 arch=armv8
#7 30.57 build_type=Release
#7 30.57 compiler=gcc
#7 30.57 compiler.cppstd=gnu17
#7 30.57 compiler.libcxx=libstdc++11
#7 30.57 compiler.version=12
#7 30.57 os=Linux
#7 30.57
#7 30.70
#7 30.70 ======== Input profiles ========
#7 30.70 Profile host:
#7 30.70 [settings]
#7 30.70 arch=armv8
#7 30.70 build_type=Release
#7 30.70 compiler=gcc
#7 30.70 compiler.cppstd=gnu17
#7 30.70 compiler.libcxx=libstdc++11
#7 30.70 compiler.version=12
#7 30.70 os=Linux
#7 30.70
#7 30.70 Profile build:
#7 30.70 [settings]
#7 30.70 arch=armv8
#7 30.70 build_type=Release
#7 30.70 compiler=gcc
#7 30.70 compiler.cppstd=gnu17
#7 30.70 compiler.libcxx=libstdc++11
#7 30.70 compiler.version=12
#7 30.70 os=Linux
#7 30.70
#7 30.72
#7 30.72 ======== Computing dependency graph ========
#7 30.72 fmt/11.0.2: Not found in local cache, looking in remotes...
#7 30.72 fmt/11.0.2: Checking remote: conancenter
#7 31.12 fmt/11.0.2: Downloaded recipe revision 5c7438ef4d5d69ab106a41e460ce11f3
#7 31.13 Graph root
#7 31.13     cli
#7 31.13 Requirements
#7 31.13     fmt/11.0.2#5c7438ef4d5d69ab106a41e460ce11f3 - Downloaded (conancenter)
#7 31.13
#7 31.13 ======== Computing necessary packages ========
#7 31.13 fmt/11.0.2: Forced build from source
#7 31.13 Requirements
#7 31.13     fmt/11.0.2#5c7438ef4d5d69ab106a41e460ce11f3:e7870f00101af9c2b65e2aa90d6e4d035ed07954 - Build
#7 31.14
#7 31.14 ======== Installing packages ========
#7 31.23 fmt/11.0.2: Sources downloaded from 'conancenter'
#7 31.24 fmt/11.0.2: Calling source() in /root/.conan2/p/fmt3ed879d141df2/s/src
#7 32.14 fmt/11.0.2: Unzipping fmt-11.0.2.zip to .
#7 32.14 fmt/11.0.2: Unzipping 5.7MB, this can take a while
#7 32.17
#7 32.17
#7 32.17 -------- Installing package fmt/11.0.2 (1 of 1) --------
#7 32.17 fmt/11.0.2: Building from source
#7 32.17 fmt/11.0.2: Package fmt/11.0.2:e7870f00101af9c2b65e2aa90d6e4d035ed07954
#7 32.17 fmt/11.0.2: Copying sources to build folder
#7 32.18 fmt/11.0.2: Building your package in /root/.conan2/p/b/fmtd330cd854bd6c/b
#7 32.18 fmt/11.0.2: Calling generate()
#7 32.18 fmt/11.0.2: Generators folder: /root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release/generators
#7 32.20 fmt/11.0.2: CMakeToolchain generated: conan_toolchain.cmake
#7 32.20 fmt/11.0.2: CMakeToolchain generated: /root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release/generators/CMakePresets.json
#7 32.20 fmt/11.0.2: CMakeToolchain generated: /root/.conan2/p/b/fmtd330cd854bd6c/b/src/CMakeUserPresets.json
#7 32.20 fmt/11.0.2: Generating aggregated env files
#7 32.20 fmt/11.0.2: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
#7 32.20 fmt/11.0.2: Calling build()
#7 32.20 fmt/11.0.2: apply_conandata_patches(): No patches defined in conandata
#7 32.20 fmt/11.0.2: Running CMake.configure()
#7 32.20 fmt/11.0.2: RUN: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="/root/.conan2/p/b/fmtd330cd854bd6c/p" -DFMT_DOC="OFF" -DFMT_TEST="OFF" -DFMT_INSTALL="ON" -DFMT_LIB_DIR="lib" -DFMT_OS="ON" -DFMT_UNICODE="ON" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "/root/.conan2/p/b/fmtd330cd854bd6c/b/src"
#7 32.20 -- CMake version: 3.25.1
#7 32.21 -- Using Conan toolchain: /root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release/generators/conan_toolchain.cmake
#7 32.21 -- Conan toolchain: Setting CMAKE_POSITION_INDEPENDENT_CODE=ON (options.fPIC)
#7 32.21 -- Conan toolchain: C++ Standard 17 with extensions ON
#7 32.21 -- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
#7 32.23 -- The CXX compiler identification is GNU 12.2.0
#7 32.24 -- Detecting CXX compiler ABI info
#7 32.28 -- Detecting CXX compiler ABI info - done
#7 32.28 -- Check for working CXX compiler: /usr/bin/c++ - skipped
#7 32.28 -- Detecting CXX compile features
#7 32.28 -- Detecting CXX compile features - done
#7 32.28 -- {fmt} version: 11.0.2
#7 32.28 -- Build type: Release
#7 32.29 -- Configuring done
#7 32.29 -- Generating done
#7 32.29 -- Build files have been written to: /root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release
#7 32.29
#7 32.29 fmt/11.0.2: Running CMake.build()
#7 32.29 fmt/11.0.2: RUN: cmake --build "/root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release" -- -j8
#7 32.31 [ 66%] Building CXX object CMakeFiles/fmt.dir/src/os.cc.o
#7 32.31 [ 33%] Building CXX object CMakeFiles/fmt.dir/src/format.cc.o
#7 34.57 [100%] Linking CXX static library libfmt.a
#7 34.58 [100%] Built target fmt
#7 34.59
#7 34.59 fmt/11.0.2: Package 'e7870f00101af9c2b65e2aa90d6e4d035ed07954' built
#7 34.59 fmt/11.0.2: Build folder /root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release
#7 34.59 fmt/11.0.2: Generating the package
#7 34.59 fmt/11.0.2: Packaging in folder /root/.conan2/p/b/fmtd330cd854bd6c/p
#7 34.59 fmt/11.0.2: Calling package()
#7 34.59 fmt/11.0.2: Running CMake.install()
#7 34.59 fmt/11.0.2: RUN: cmake --install "/root/.conan2/p/b/fmtd330cd854bd6c/b/build/Release" --prefix "/root/.conan2/p/b/fmtd330cd854bd6c/p"
#7 34.59 -- Install configuration: "Release"
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/libfmt.a
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/args.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/base.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/chrono.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/color.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/compile.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/core.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/format.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/format-inl.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/os.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/ostream.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/printf.h
#7 34.59 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/ranges.h
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/std.h
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/include/fmt/xchar.h
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/cmake/fmt/fmt-config.cmake
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/cmake/fmt/fmt-config-version.cmake
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/cmake/fmt/fmt-targets.cmake
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/cmake/fmt/fmt-targets-release.cmake
#7 34.60 -- Installing: /root/.conan2/p/b/fmtd330cd854bd6c/p/lib/pkgconfig/fmt.pc
#7 34.60
#7 34.60 fmt/11.0.2: package(): Packaged 1 file: LICENSE
#7 34.60 fmt/11.0.2: package(): Packaged 1 '.a' file: libfmt.a
#7 34.60 fmt/11.0.2: package(): Packaged 14 '.h' files
#7 34.60 fmt/11.0.2: Created package revision b311c6426f9e6a80ff3c0302918a38b4
#7 34.60 fmt/11.0.2: Package 'e7870f00101af9c2b65e2aa90d6e4d035ed07954' created
#7 34.60 fmt/11.0.2: Full package reference: fmt/11.0.2#5c7438ef4d5d69ab106a41e460ce11f3:e7870f00101af9c2b65e2aa90d6e4d035ed07954#b311c6426f9e6a80ff3c0302918a38b4
#7 34.76 fmt/11.0.2: Package folder /root/.conan2/p/b/fmtd330cd854bd6c/p
#7 34.76 WARN: deprecated: Usage of deprecated Conan 1.X features that will be removed in Conan 2.X:
#7 34.76 WARN: deprecated:     'cpp_info.names' used in: fmt/11.0.2
#7 34.76
#7 34.76 ======== Finalizing install (deploy, generators) ========
#7 34.76 cli: Generating aggregated env files
#7 34.76 cli: Generated aggregated env files: ['conanbuild.sh', 'conanrun.sh']
#7 34.76 Install finished successfully
#7 DONE 35.3s

#8 exporting to image
#8 exporting layers
#8 exporting layers 1.7s done
#8 writing image sha256:e58d0f227a51d992e43ae2db5e3f393498dc748bd0ca16ddadf7abae635ca086 done
#8 naming to docker.io/library/carimbo done
#8 DONE 1.7s

@uilianries uilianries changed the title [package] fmt/11.0.2: fmt is broken on Docker (debian) [package] fmt/11.0.2: fmt is broken for Clang 20 with C++20 Dec 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working requires reporter action Waiting on issue reporter
Projects
None yet
3 participants