Public bug reported:

ceph 12.1.2 fails to build with gcc-7 on 32 bit architectures (i386 or
armhf):

In file included from /usr/include/boost/variant.hpp:17:0,
                 from /root/ceph/src/common/cmdparse.h:9,
                 from /root/ceph/src/common/ceph_context.h:22,
                 from /root/ceph/src/common/Mutex.h:20,
                 from /root/ceph/src/common/config.h:21,
                 from /root/ceph/src/common/dout.h:22,
                 from /root/ceph/src/include/Context.h:19,
                 from /root/ceph/src/common/Cond.h:19,
                 from /root/ceph/src/common/Timer.h:18,
                 from /root/ceph/src/tools/rbd_mirror/InstanceReplayer.cc:5:
/usr/include/boost/variant/variant.hpp: In instantiation of ‘void 
boost::variant<T0, TN>::convert_construct(T&, int, mpl_::false_) [with T = 
unsigned int; T0_ = bool; TN = {long long unsigned int, 
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> 
>}; mpl_::false_ = mpl_::bool_<false>]’:
/usr/include/boost/variant/variant.hpp:1777:26:   required from 
‘boost::variant<T0, TN>::variant(T&, typename 
boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<T> >, 
boost::mpl::not_<boost::is_same<T, boost::variant<T0, TN> > >, 
boost::detail::variant::is_variant_constructible_from<T&, typename 
boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, 
TN>::is_recursive_, boost::mpl::transform<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, 
boost::detail::variant::make_variant_list<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, TN ...> >::type, 
boost::mpl::protect<boost::detail::variant::quoted_enable_recursive<boost::variant<T0,
 TN> > > >, boost::mpl::identity<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, 
boost::detail::variant::make_variant_list<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, TN ...> >::type> >::type, 
boost::mpl::protect<boost::detail::make_reference_content<mpl_::void_> > 
>::type> > >::type*) [with T = unsigned int; T0_ = bool; TN = {long long 
unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, 
std::allocator<char> >}; typename 
boost::enable_if<boost::mpl::and_<boost::mpl::not_<boost::is_const<T> >, 
boost::mpl::not_<boost::is_same<T, boost::variant<T0, TN> > >, 
boost::detail::variant::is_variant_constructible_from<T&, typename 
boost::mpl::transform<typename boost::mpl::eval_if<boost::variant<T0, 
TN>::is_recursive_, boost::mpl::transform<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, 
boost::detail::variant::make_variant_list<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, TN ...> >::type, 
boost::mpl::protect<boost::detail::variant::quoted_enable_recursive<boost::variant<T0,
 TN> > > >, boost::mpl::identity<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_sequence_based_, typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, 
boost::detail::variant::make_variant_list<typename 
boost::mpl::eval_if<boost::variant<T0, TN>::is_recursive_, T0_, 
boost::mpl::identity<T> >::type, TN ...> >::type> >::type, 
boost::mpl::protect<boost::detail::make_reference_content<mpl_::void_> > 
>::type> > >::type = void]’
/root/ceph/src/tools/rbd_mirror/InstanceReplayer.cc:355:3:   required from 
‘void rbd::mirror::InstanceReplayer<ImageCtxT>::start_image_replayers(int) 
[with ImageCtxT = librbd::ImageCtx]’
/root/ceph/src/tools/rbd_mirror/InstanceReplayer.cc:496:29:   required from here
/usr/include/boost/variant/variant.hpp:1604:38: error: call of overloaded 
‘initialize(void*, unsigned int&)’ is ambiguous
               initializer::initialize(
               ~~~~~~~~~~~~~~~~~~~~~~~^
                   storage_.address()
                   ~~~~~~~~~~~~~~~~~~  
                 , operand
                 ~~~~~~~~~             
                 )
                 ~                     
In file included from /usr/include/boost/variant/variant.hpp:30:0,
                 from /usr/include/boost/variant.hpp:17,
                 from /root/ceph/src/common/cmdparse.h:9,
                 from /root/ceph/src/common/ceph_context.h:22,
                 from /root/ceph/src/common/Mutex.h:20,
                 from /root/ceph/src/common/config.h:21,
                 from /root/ceph/src/common/dout.h:22,
                 from /root/ceph/src/include/Context.h:19,
                 from /root/ceph/src/common/Cond.h:19,
                 from /root/ceph/src/common/Timer.h:18,
                 from /root/ceph/src/tools/rbd_mirror/InstanceReplayer.cc:5:
/usr/include/boost/variant/detail/initializer.hpp:104:24: note: candidate: 
static int boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::initialize(void*, 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param_T) [with BaseIndexPair = 
boost::mpl::pair<boost::detail::variant::initializer_root, mpl_::int_<0> >; 
Iterator = boost::mpl::l_iter<boost::mpl::list3<bool, long long unsigned int, 
std::__cxx11::basic_string<char> > >; 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param_T = const bool&]
             static int initialize(void* dest, param_T operand)
                        ^~~~~~~~~~
/usr/include/boost/variant/detail/initializer.hpp:115:24: note: candidate: 
static int boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::initialize(void*, 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param2_T) [with BaseIndexPair = 
boost::mpl::pair<boost::detail::variant::initializer_root, mpl_::int_<0> >; 
Iterator = boost::mpl::l_iter<boost::mpl::list3<bool, long long unsigned int, 
std::__cxx11::basic_string<char> > >; 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param2_T = bool&&]
             static int initialize(void* dest, param2_T operand)
                        ^~~~~~~~~~
/usr/include/boost/variant/detail/initializer.hpp:115:24: note: candidate: 
static int boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::initialize(void*, 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param2_T) [with BaseIndexPair = 
boost::mpl::pair<boost::detail::variant::make_initializer_node::apply<boost::mpl::pair<boost::detail::variant::initializer_root,
 mpl_::int_<0> >, boost::mpl::l_iter<boost::mpl::list3<bool, long long unsigned 
int, std::__cxx11::basic_string<char> > > >::initializer_node, mpl_::int_<1> >; 
Iterator = boost::mpl::l_iter<boost::mpl::list2<long long unsigned int, 
std::__cxx11::basic_string<char> > >; 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param2_T = long long unsigned int&&]
/usr/include/boost/variant/detail/initializer.hpp:104:24: note: candidate: 
static int boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::initialize(void*, 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param_T) [with BaseIndexPair = 
boost::mpl::pair<boost::detail::variant::make_initializer_node::apply<boost::mpl::pair<boost::detail::variant::initializer_root,
 mpl_::int_<0> >, boost::mpl::l_iter<boost::mpl::list3<bool, long long unsigned 
int, std::__cxx11::basic_string<char> > > >::initializer_node, mpl_::int_<1> >; 
Iterator = boost::mpl::l_iter<boost::mpl::list2<long long unsigned int, 
std::__cxx11::basic_string<char> > >; 
boost::detail::variant::make_initializer_node::apply<BaseIndexPair, 
Iterator>::initializer_node::param_T = const long long unsigned int&]
             static int initialize(void* dest, param_T operand)
                        ^~~~~~~~~~
src/tools/rbd_mirror/CMakeFiles/rbd_mirror_internal.dir/build.make:182: recipe 
for target 
'src/tools/rbd_mirror/CMakeFiles/rbd_mirror_internal.dir/InstanceReplayer.cc.o' 
failed
make[2]: *** 
[src/tools/rbd_mirror/CMakeFiles/rbd_mirror_internal.dir/InstanceReplayer.cc.o] 
Error 1

Full log:

https://launchpadlibrarian.net/332283208/buildlog_ubuntu-artful-
armhf.ceph_12.1.2-0ubuntu1_BUILDING.txt.gz

** Affects: ceph (Ubuntu)
     Importance: Undecided
         Status: New

** Affects: gcc-7 (Ubuntu)
     Importance: Undecided
         Status: New

** Also affects: gcc-7 (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1709396

Title:
  gcc-7/i386|armhf 12.1.2 FTBFS

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1709396/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to