Package: libboost1.74-dev Version: 1.74.0-13 Severity: important Hi there!
When building Ceph (current version in Experimental), since a few days/weeks, I get this: In file included from /root/ceph/ceph/src/seastar/src/core/file.cc:28: /usr/include/boost/container/detail/copy_move_algo.hpp: In function ‘typename boost::move_detail::enable_if_c<(boost::container::dtl::is_memtransfer_copy_assignable<F, G>::value && true), void>::type boost::container::deep_swap_alloc_n(A llocator&, F, typename boost::container::allocator_traits<Allocator>::size_type, G, typename boost::container::allocator_traits<Allocator>::size_type)’: /usr/include/boost/container/detail/copy_move_algo.hpp:1083:10: error: ‘__fallthrough__’ was not declared in this scope; did you mean ‘fallthrough’? 1083 | BOOST_FALLTHROUGH; | ^~~~~~~~~~~~~~~~~ To me, it looks like a bug in Boost itself, as this is where the BOOST_FALLTHROUGH macro is defined. Note that in Ceph, I had the same issue, until I redefined the macro like this directly: #define FMT_FALLTHROUGH [[gnu::fallthrough]] removing the conditional: #if __cplusplus == 201103L || __cplusplus == 201402L which doesn't seem to get some matching, and then the error in the subject of this bug report went away, at least for the Ceph part (well, fmt which Ceph embedds...). Is this still a problem in Ceph, or am I right that it probably is an issue in Boost? I can't get my head around this issue which has been blocking me for weeks. What's annoying is that it used to build fine, and I don't know what changed in unstable to make it fail to way. If the issue is in Ceph's code, then I would happily recieve advices. Your thoughts? Cheers, Thomas Goirand (zigo)