Package: rivet
Version: 1.8.3-3
Severity: wishlist
User: team+bo...@tracker.debian.org
Usertags: boost1.71
Forwarded: https://github.com/boostorg/assign/issues/33

Dear Maintainer,

your package fails to build with boost1.71. You can find a build log
attached. If you want to attempt the build yourself, an updated version
of boost-defaults which brings in boost1.71 dependencies can be found
adding this line to your sources.list file:

  deb https://people.debian.org/~gio/reprepro gio main

This bug has severity whishlist for the moment, but it will raised to RC
as soon as version 1.71 of Boost is promoted to default.

More specifically, your package fails building because it seems that a
certain usage of operator+= seems to be not supported any more by
Boost.Assign. I asked upstream about whether it should be considered
legitimate or not:

  https://github.com/boostorg/assign/issues/33

From the build log:

> In file included from /usr/include/boost/assign/std/vector.hpp:18,
>                  from /usr/include/boost/assign/std.hpp:18,
>                  from /usr/include/boost/assign.hpp:19,
>                  from ../../include/Rivet/RivetBoost.hh:6,
>                  from ../../include/Rivet/Math/MathUtils.hh:6,
>                  from ../../include/Rivet/Rivet.hh:42,
>                  from RivetPaths.cc:1:
> /usr/include/boost/assign/list_inserter.hpp: In instantiation of 'void 
> boost::assign_detail::call_push_back<C>::operator()(T&&) [with T = 
> std::vector<std::__cxx11::basic_string<char> >; C = 
> std::vector<std::__cxx11::basic_string<char> >]':
> /usr/include/boost/assign/list_inserter.hpp:414:13:   required from 'void 
> boost::assign::list_inserter<Function, 
> Argument>::insert(boost::assign::list_inserter<Function, 
> Argument>::single_arg_type, T&&) [with T = 
> std::vector<std::__cxx11::basic_string<char> >; Function = 
> boost::assign_detail::call_push_back<std::vector<std::__cxx11::basic_string<char>
>  > >; Argument = std::__cxx11::basic_string<char>]'
> /usr/include/boost/assign/list_inserter.hpp:406:13:   required from 
> 'boost::assign::list_inserter<Function, Argument>& 
> boost::assign::list_inserter<Function, Argument>::operator()(Ts&& ...) [with 
> Ts = {std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, 
> std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, 
> std::char_traits<char>, std::allocator<char> > > >}; Function = 
> boost::assign_detail::call_push_back<std::vector<std::__cxx11::basic_string<char>
>  > >; Argument = std::__cxx11::basic_string<char>]'
> /usr/include/boost/assign/std/vector.hpp:42:30:   required from 
> 'boost::assign::list_inserter<boost::assign_detail::call_push_back<std::vector<_Tp,
>  _Alloc> >, V> boost::assign::operator+=(std::vector<_Tp, _Alloc>&, V2&&) 
> [with V = std::__cxx11::basic_string<char>; A = 
> std::allocator<std::__cxx11::basic_string<char> >; V2 = 
> std::vector<std::__cxx11::basic_string<char> >]'
> RivetPaths.cc:57:28:   required from here
> /usr/include/boost/assign/list_inserter.hpp:91:13: error: no matching 
> function for call to 'std::vector<std::__cxx11::basic_string<char> 
> >::push_back(std::vector<std::__cxx11::basic_string<char> >)'
>    91 |             c_.push_back(boost::forward<T>(r));
>       |             ^~
> In file included from /usr/include/c++/9/vector:67,
>                  from ../../include/Rivet/RivetSTL.hh:11,
>                  from ../../include/Rivet/Rivet.hh:8,
>                  from RivetPaths.cc:1:
> /usr/include/c++/9/bits/stl_vector.h:1184:7: note: candidate: 'void 
> std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = 
> std::__cxx11::basic_string<char>; _Alloc = 
> std::allocator<std::__cxx11::basic_string<char> >; std::vector<_Tp, 
> _Alloc>::value_type = std::__cxx11::basic_string<char>]'
>  1184 |       push_back(const value_type& __x)
>       |       ^~~~~~~~~
> /usr/include/c++/9/bits/stl_vector.h:1184:35: note:   no known conversion for 
> argument 1 from 'std::vector<std::__cxx11::basic_string<char> >' to 'const 
> value_type&' {aka 'const std::__cxx11::basic_string<char>&'}
>  1184 |       push_back(const value_type& __x)
>       |                 ~~~~~~~~~~~~~~~~~~^~~
> /usr/include/c++/9/bits/stl_vector.h:1200:7: note: candidate: 'void 
> std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) 
> [with _Tp = std::__cxx11::basic_string<char>; _Alloc = 
> std::allocator<std::__cxx11::basic_string<char> >; std::vector<_Tp, 
> _Alloc>::value_type = std::__cxx11::basic_string<char>]'
>  1200 |       push_back(value_type&& __x)
>       |       ^~~~~~~~~
> /usr/include/c++/9/bits/stl_vector.h:1200:30: note:   no known conversion for 
> argument 1 from 'std::vector<std::__cxx11::basic_string<char> >' to 
> 'std::vector<std::__cxx11::basic_string<char> >::value_type&&' {aka 
> 'std::__cxx11::basic_string<char>&&'}
>  1200 |       push_back(value_type&& __x)
>       |                 ~~~~~~~~~~~~~^~~

Thanks and all the best, Giovanni.
-- 
Giovanni Mascellani <g.mascell...@gmail.com>
Postdoc researcher - Université Libre de Bruxelles

Attachment: rivet.log.gz
Description: application/gzip

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to