Arch updated fmt to 10.0.0-1 on 2023-07-20. Now compilation fails with
[ 7%] Building CXX object src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o
cd /home/aur/build/ceph/src/ceph-17.2.6/build/src/common && /usr/bin/c++ -DBOOST_ASIO_DISABLE_THREAD_KEYWORD_EXTENSION -DCEPH_INSTALL_DATADIR=\"/usr/share/ceph\" -DCEPH_INSTALL_FULL_PKGLIBDIR=\"/usr/lib/ceph\" -DCMAKE_INSTALL_LIBDIR=\"/usr/lib\" -DHAVE_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__CEPH__ -D__STDC_FORMAT_MACROS -D__linux__ -I/home/aur/build/ceph/src/ceph-17.2.6/build/src/include -I/home/aur/build/ceph/src/ceph-17.2.6/src -isystem /home/aur/build/ceph/src/ceph-17.2.6/build/include -isystem /home/aur/build/ceph/src/ceph-17.2.6/src/xxHash -isystem /home/aur/build/ceph/src/ceph-17.2.6/src/rapidjson/include -march=x86-64 -mtune=generic -O2 -pipe -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -DFMT_DEPRECATED_OSTREAM -O2 -g -DNDEBUG -std=c++17 -fPIC -U_FORTIFY_SOURCE -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free -Wall -fno-strict-aliasing -fsigned-char -Wtype-limits -Wignored-qualifiers -Wpointer-arith -Werror=format-security -Winit-self -Wno-unknown-pragmas -Wnon-virtual-dtor -Wno-ignored-qualifiers -ftemplate-depth-1024 -Wpessimizing-move -Wredundant-move -Wstrict-null-sentinel -Woverloaded-virtual -fno-new-ttp-matching -fstack-protector-strong -fdiagnostics-color=auto -MD -MT src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o -MF CMakeFiles/common-common-objs.dir/Journald.cc.o.d -o CMakeFiles/common-common-objs.dir/Journald.cc.o -c /home/aur/build/ceph/src/ceph-17.2.6/src/common/Journald.cc
In file included from /usr/include/fmt/format.h:49,
from /home/aur/build/ceph/src/ceph-17.2.6/src/common/Journald.cc:17:
/usr/include/fmt/core.h: In instantiation of ‘constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_value(T&&) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const entity_name_t&]’:
/usr/include/fmt/core.h:1711:29: required from ‘constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; type <anonymous> = fmt::v10::detail::type::custom_type; T = const entity_name_t&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’
/usr/include/fmt/core.h:1827:77: required from ‘constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {int&, long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const entity_name_t&, const long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, entity_name_t, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >}]’
/usr/include/fmt/core.h:1844:31: required from ‘constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T&& ...) [with Context = basic_format_context<appender, char>; T = {int&, long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const entity_name_t&, const long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}]’
/usr/include/fmt/core.h:2845:52: required from ‘OutputIt fmt::v10::format_to(OutputIt, format_string<T ...>, T&& ...) [with OutputIt = std::back_insert_iterator<basic_memory_buffer<char> >; T = {int, long unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const entity_name_t&, const long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&}; typename std::enable_if<detail::is_output_iterator<OutputIt, char>::value, int>::type <anonymous> = 0; format_string<T ...> = basic_format_string<char, int, long unsigned int, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const entity_name_t&, const long unsigned int&, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>]’
/home/aur/build/ceph/src/ceph-17.2.6/src/common/Journald.cc:142:19: required from here
/usr/include/fmt/core.h:1691: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
1691 | formattable,
| ^~~~~~~~~~~
/usr/include/fmt/core.h:1691:7: note: ‘formattable’ evaluates to false
make[2]: *** [src/common/CMakeFiles/common-common-objs.dir/build.make:1284: src/common/CMakeFiles/common-common-objs.dir/Journald.cc.o] Error 1
make[2]: Leaving directory '/home/aur/build/ceph/src/ceph-17.2.6/build'
make[1]: *** [CMakeFiles/Makefile2:4328: src/common/CMakeFiles/common-common-objs.dir/all] Error 2
make[1]: Leaving directory '/home/aur/build/ceph/src/ceph-17.2.6/build'
make: *** [Makefile:149: all] Error 2
make: Leaving directory '/home/aur/build/ceph/src/ceph-17.2.6/build'
==> ERROR: A failure occurred in build().
Aborting...
Pinned Comments
pbazaah commented on 2022-10-05 13:03 (UTC) (edited on 2022-10-05 13:03 (UTC) by pbazaah)
For future commenters:
TLDR:
https://aur.archlinux.org/pkgbase/ceph | From source build (slow)
https://aur.archlinux.org/pkgbase/ceph-bin | Pre-built binaries (fast)
Unlike the original community version, this repo builds ceph from source. Ceph is a large, complicated project so this takes several hours on a good build server.
To get a similar experience to how community/ceph worked (pre-built binaries) use ceph-bin instead.