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

error: call to consteval function 'fmt::basic_format_string<char, const char *>::basic_format_string<FMT_COMPILE_STRING, 0>' is not a constant expression #4264

Closed
skhaz opened this issue Dec 11, 2024 · 3 comments

Comments

@skhaz
Copy link

skhaz commented Dec 11, 2024

Only on Docker arm64 using Debian or the GCC official image I am having this issue.

On GitHub Actions or local (macOS) I do not have.

fmt/11.0.2: Running CMake.build()
fmt/11.0.2: RUN: cmake --build "/root/.conan2/p/b/fmte251ab26ca70b/b/build/Release" -- -j8
[ 66%] Building CXX object CMakeFiles/fmt.dir/src/os.cc.o
[ 33%] Building CXX object CMakeFiles/fmt.dir/src/format.cc.o
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/src/format.cc:8:
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/src/format.cc:8:
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/src/format.cc:8:
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/src/format.cc:8:
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/src/format.cc:8:
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/b/src/include/fmt/format.h:1806:3: note: expanded from macro 'FMT_STRING_IMPL'
 1806 |   [] {                                                                        \
      |   ^
/root/.conan2/p/b/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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/fmte251ab26ca70b/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
@vitaut
Copy link
Contributor

vitaut commented Dec 11, 2024

Possible duplicate of (already fixed) #4177. Does it work on master?

@skhaz
Copy link
Author

skhaz commented Dec 11, 2024

I will give a try, I am using fmt provide by Conan.

FYI I works flawless on many platforms and OSes, but not on Docker (debian and GCC images, all on latest version).

@vitaut
Copy link
Contributor

vitaut commented Dec 12, 2024

Closing for now but feel free to reopen (with more repro details) if it still happens on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants