Your message dated Fri, 21 Feb 2020 08:49:38 +0100
with message-id <[email protected]>
and subject line Re: Bug#951253: FTBFS with Boost 1.71
has caused the Debian Bug report #951253,
regarding FTBFS with Boost 1.71
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
951253: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951253
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: mapnik
Version: 3.0.22+ds1-1
Severity: wishlist
User: [email protected]
Usertags: boost1.71
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.
The error is:
> In file included from /usr/include/boost/type_traits/is_convertible.hpp:20,
> from /usr/include/boost/proto/matches.hpp:38,
> from /usr/include/boost/phoenix/core/domain.hpp:12,
> from /usr/include/boost/phoenix/core/actor.hpp:18,
> from /usr/include/boost/phoenix/core.hpp:12,
> from /usr/include/boost/spirit/include/phoenix_core.hpp:11,
> from /usr/include/boost/spirit/home/support/terminal.hpp:17,
> from
> /usr/include/boost/spirit/home/support/common_terminals.hpp:15,
> from /usr/include/boost/spirit/home/karma/char/char.hpp:14,
> from /usr/include/boost/spirit/home/karma/char.hpp:13,
> from /usr/include/boost/spirit/home/karma.hpp:13,
> from /usr/include/boost/spirit/include/karma.hpp:16,
> from include/mapnik/json/geometry_generator_grammar.hpp:33,
> from src/json/mapnik_geometry_to_geojson.cpp:25:
> /usr/include/boost/spirit/home/support/attributes.hpp: In instantiation of
> ‘struct boost::spirit::traits::transform_attribute<const
> mapnik::geometry::geometry<double>, const
> mapnik::geometry::geometry<double>&, boost::spirit::karma::domain, void>’:
> /usr/include/boost/spirit/home/karma/nonterminal/rule.hpp:293:42: required
> from ‘bool boost::spirit::karma::rule<OutputIterator, T1, T2, T3,
> T4>::generate(boost::spirit::karma::rule<OutputIterator, T1, T2, T3,
> T4>::output_iterator&, Context&, const Delimiter&, const Attribute&) const
> [with Context = boost::spirit::context<boost::fusion::cons<const
> mapnik::geometry::geometry<double>&, boost::fusion::nil_>,
> boost::spirit::locals<> >; Delimiter = boost::spirit::unused_type; Attribute
> = mapnik::geometry::geometry<double>; OutputIterator =
> std::back_insert_iterator<std::__cxx11::basic_string<char> >; T1 = const
> mapnik::geometry::geometry<double>&(); T2 = boost::spirit::unused_type; T3 =
> boost::spirit::unused_type; T4 = boost::spirit::unused_type;
> boost::spirit::karma::rule<OutputIterator, T1, T2, T3, T4>::output_iterator =
> boost::spirit::karma::detail::output_iterator<std::back_insert_iterator<std::__cxx11::basic_string<char>
> >, mpl_::int_<15>, boost::spirit::unused_type>]’
> /usr/include/boost/spirit/home/karma/reference.hpp:46:65: required from
> ‘bool boost::spirit::karma::reference<Subject>::generate(OutputIterator&,
> Context&, const Delimiter&, const Attribute&) const [with OutputIterator =
> boost::spirit::karma::detail::output_iterator<std::back_insert_iterator<std::__cxx11::basic_string<char>
> >, mpl_::int_<15>, boost::spirit::unused_type>; Context =
> boost::spirit::context<boost::fusion::cons<const
> mapnik::geometry::geometry<double>&, boost::fusion::nil_>,
> boost::spirit::locals<> >; Delimiter = boost::spirit::unused_type; Attribute
> = mapnik::geometry::geometry<double>; Subject = const
> boost::spirit::karma::rule<std::back_insert_iterator<std::__cxx11::basic_string<char>
> >, const mapnik::geometry::geometry<double>&(), boost::spirit::unused_type,
> boost::spirit::unused_type, boost::spirit::unused_type>]’
> /usr/include/boost/spirit/home/karma/generate.hpp:69:81: required from
> ‘bool
> boost::spirit::karma::generate(boost::spirit::karma::detail::output_iterator<OutputIterator,
> Derived>&, const Expr&, const Attr&) [with OutputIterator =
> std::back_insert_iterator<std::__cxx11::basic_string<char> >; Properties =
> mpl_::int_<15>; Expr =
> mapnik::json::geometry_generator_grammar<std::back_insert_iterator<std::__cxx11::basic_string<char>
> >, mapnik::geometry::geometry<double> >; Attr =
> mapnik::geometry::geometry<double>]’
> /usr/include/boost/spirit/home/karma/generate.hpp:91:31: required from
> ‘bool boost::spirit::karma::generate(OutputIterator&, const Expr&, const
> Attr&) [with OutputIterator =
> std::back_insert_iterator<std::__cxx11::basic_string<char> >; Expr =
> mapnik::json::geometry_generator_grammar<std::back_insert_iterator<std::__cxx11::basic_string<char>
> >, mapnik::geometry::geometry<double> >; Attr =
> mapnik::geometry::geometry<double>]’
> src/json/mapnik_geometry_to_geojson.cpp:34:62: required from here
> /usr/include/boost/spirit/home/support/attributes.hpp:963:9: error: static
> assertion failed: Transformed cannot be a reference type
> 963 | BOOST_STATIC_ASSERT_MSG(!is_reference<Transformed>::value,
> | ^~~~~~~~~~~~~~~~~~~~~~~
Apparently something changed in Boost.Spirit, and it doesn't like any
more the way mapnik uses it. Unfortunately it is not easy for me,
without knowing the code, understand how to prepare a patch for this.
Apparently upstream has fixed compatibility with Boost 1.71 in master,
but that patch is not released yet and it doesn't apply to the tree
currently in Debian.
I think the easiest solution would be to just package the next upstream
version as soon as it is released. Do you have an idea on when this
might happen? In the meantime, once Boost 1.71 is promoted to default,
you can update your dependencies to explicitly use Boost 1.67, which
will not be removed immediately from unstable (unless, of course, you
want to write a patch for mapnik, but to me that seems a waste of time).
However, the plan is to not release Boost 1.67 with bullseye, so I hope
that upstream will release before Debian will. Do you think this is a
viable plan?
Thanks and all the best, Giovanni.
--
Giovanni Mascellani <[email protected]>
Postdoc researcher - Université Libre de Bruxelles
mapnik.log.gz
Description: application/gzip
signature.asc
Description: OpenPGP digital signature
--- End Message ---
--- Begin Message ---
Control: fixed 951253 mapnik/3.0.23+ds-1~exp1
thanks
On 2/13/20 1:50 PM, Giovanni Mascellani wrote:
> Il 13/02/20 12:11, Bas Couwenberg ha scritto:
>> Mapnik releases have become much more infrequent, there is not much
>> demand for releases from Mapbox which uses development snapshots.
>
> Right. Actually, artemp mentions in the upstream issue that he's
> planning to release 3.0.23 asap, but I don't really know when this will
> happen.
The mapnik 3.0.23 release happened, and it builds successfully with the
boost1.71 (1.71.0-6) packages from unstable when using boost-defaults
from experimental. Not sure if it also works correctly at runtime.
Once I've completed test rebuilds of the rdeps I'll move it to unstable.
Kind Regards,
Bas
--
GPG Key ID: 4096R/6750F10AE88D4AF1
Fingerprint: 8182 DE41 7056 408D 6146 50D1 6750 F10A E88D 4AF1
--- End Message ---