Hi,

Thanks for your answer.

On 12/4/21 5:11 PM, Giovanni Mascellani wrote:
> Hi,
> 
> On 01/12/21 22:21, Thomas Goirand wrote:
>> 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;
>>        |          ^~~~~~~~~~~~~~~~~
> 
> Uhm, that's strange. For gcc that macro should resolve to
> __attribute__((fallthrough)), which should just work[1].
> 
>  [1]
> https://sources.debian.org/src/boost1.74/1.74.0-13/libs/config/include/boost/config/compiler/gcc.hpp/#L323

Well, that *USED* to work, a few weeks ago, but not Ceph FTBFS because
of this problem.

> I don't like the idea of using the new [[...]] syntax, because that
> would break all the code that is not compiling at least with C++17.

Whatever you feel works better is ok for me. I never wrote that what I
gave was what should be implemented, I just wrote that it made it work
for me with Ceph. Probably we should find something better.

> Could you try running that compilation command with g++ -E, so you can
> see what BOOST_FALLTHROUGH is actually begin replaced with?

Oh, that's funny, when I add -E just right after /usr/bin/c++, then it
looks like it's building fine (no error message, and c++ returns zero).
Now I probably need to find a way to hard-wire the -E in Ceph (which I
honestly have no clue how at the time of writing this... I for the
moment just tried that one file that failed, I'll need to make it a rule
everywhere, probably...).

Cheers,

Thomas Goirand (zigo)

Reply via email to