Bug#954648: FTBFS with Boost 1.71

Giovanni Mascellani gio at debian.org
Sun Mar 22 09:13:04 GMT 2020


Package: rivet
Version: 1.8.3-3
Severity: wishlist
User: team+boost at 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.mascellani at gmail.com>
Postdoc researcher - Université Libre de Bruxelles
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rivet.log.gz
Type: application/gzip
Size: 18862 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200322/2fa2729e/attachment-0001.gz>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20200322/2fa2729e/attachment-0001.sig>


More information about the debian-science-maintainers mailing list