Actions
Bug #57540
openFMT Cmake code does not work on Ubuntu Kinetic with system libfmt
Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
% Done:
0%
Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Description
libfmt 9 has been accepted into Ubuntu Kinetic and Ceph's usage of fmt is incompatible
Updated by Chris MacNaughton over 1 year ago
When trying to build with libfmt 9, the build fails with this error:
/usr/include/fmt/core.h: In instantiation of ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; T = std::__exception_ptr::exception_ptr&]’: /usr/include/fmt/core.h:1753:29: required from ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_arg(T&&) [wi th bool IS_PACKED = true; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; type <anonymous> = fmt::v9::detail ::type::custom_type; T = std::__exception_ptr::exception_ptr&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’ /usr/include/fmt/core.h:1877:77: required from ‘constexpr fmt::v9::format_arg_store<Context, Args>::format_arg_store(T&& ... ) [with T = {std::__exception_ptr::exception_ptr&}; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; Args = { std::__exception_ptr::exception_ptr}]’ /usr/include/fmt/core.h:1894:38: required from ‘constexpr fmt::v9::format_arg_store<Context, typename std::remove_cv<typenam e std::remove_reference<Args>::type>::type ...> fmt::v9::make_format_args(Args&& ...) [with Context = basic_format_context<app ender, char>; Args = {std::__exception_ptr::exception_ptr&}]’ /usr/include/fmt/core.h:3192:52: required from ‘OutputIt fmt::v9::format_to(OutputIt, format_string<T ...>, T&& ...) [with O utputIt = seastar::internal::log_buf::inserter_iterator; T = {std::__exception_ptr::exception_ptr}; typename std::enable_if<de tail::is_output_iterator<OutputIt, char>::value, int>::type <anonymous> = 0; format_string<T ...> = basic_format_string<char, std::__exception_ptr::exception_ptr>]’ /home/ubuntu/packaging/ceph/src/seastar/include/seastar/util/log.hh:225:42: required from ‘void seastar::logger::log(seastar ::log_level, format_info, Args&& ...) [with Args = {std::__exception_ptr::exception_ptr}]’ /home/ubuntu/packaging/ceph/src/seastar/include/seastar/util/log.hh:338:12: required from ‘void seastar::logger::warn(format _info, Args&& ...) [with Args = {std::__exception_ptr::exception_ptr}]’ /home/ubuntu/packaging/ceph/src/seastar/src/core/reactor_backend.cc:238:36: required from here /usr/include/fmt/core.h:1733:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt 1733 | formattable, | ^~~~~~~~~~~ /usr/include/fmt/core.h:1733:7: note: ‘formattable’ evaluates to false make[3]: *** [src/seastar/CMakeFiles/seastar.dir/build.make:133: src/seastar/CMakeFiles/seastar.dir/src/core/reactor_backend.c c.o] Error 1 make[3]: *** Waiting for unfinished jobs....
Updated by Casey Bodley over 1 year ago
- Status changed from New to Fix Under Review
- Pull request ID set to 48233
Actions