[Debian-med-packaging] Bug#824013: libzeep: FTBFS with g++6 and libboost-1.60 also compiled with g++-6

Gert Wollny gw.fossdev at gmail.com
Wed May 11 10:13:20 UTC 2016


Source: libzeep
Version: 3.0.2-3
Severity: important
Tags: patch

Control: block 816569 by -1

When compiled against libboost1.60 that is compiled with g++-6 compilation
fails because std::tie and boost::fusion::tie are both availabe with equal
signatures (see below). The attached patch fixes this.

Currently, boost1.60 is still compiled with g++-5 and not yet the default, but
this will probably change soon.

error log:
g++ -MD -c -o obj/doctype.o src/doctype.cpp -g -O2 -fstack-protector-strong
-Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O2 -I. -fPIC
-pthread -shared -std=c++0x -Wall
src/doctype.cpp: In member function 'virtual boost::fusion::tuple<bool, bool>
zeep::xml::doctype::state_repeated_zero_or_once::allow(const string&)':
src/doctype.cpp:135:20: error: call of overloaded 'tie(bool&, bool&)' is
ambiguous
    tie(result, done) = m_sub->allow(name);
                    ^
In file included from /usr/include/boost/fusion/tuple.hpp:13:0,
                 from /usr/include/boost/fusion/include/tuple.hpp:11,
                 from /usr/include/boost/tr1/tuple.hpp:58,
                 from src/doctype.cpp:12:
/usr/include/boost/fusion/tuple/tuple_tie.hpp:30:5: note: candidate:
boost::fusion::tuple<T& ...> boost::fusion::tie(T& ...) [with T = {bool, bool}]
     tie(T&... arg)
     ^~~
In file included from /usr/include/c++/6/functional:55:0,
                 from
/usr/include/boost/fusion/support/detail/as_fusion_element.hpp:15,
                 from
/usr/include/boost/fusion/algorithm/transformation/push_back.hpp:11,
                 from
/usr/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp:20,
                 from
/usr/include/boost/fusion/view/iterator_range/detail/segments_impl.hpp:14,
                 from
/usr/include/boost/fusion/view/iterator_range/iterator_range.hpp:22,
                 from /usr/include/boost/fusion/view/iterator_range.hpp:11,
                 from
/usr/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp:13,
                 from
/usr/include/boost/fusion/sequence/intrinsic/begin.hpp:18,
                 from /usr/include/boost/fusion/mpl/begin.hpp:12,
                 from
/usr/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp:18,
                 from /usr/include/boost/fusion/sequence/intrinsic/size.hpp:17,
                 from /usr/include/boost/fusion/container/vector/vector.hpp:32,
                 from /usr/include/boost/fusion/tuple/tuple.hpp:23,
                 from /usr/include/boost/fusion/tuple.hpp:11,
                 from /usr/include/boost/fusion/include/tuple.hpp:11,
                 from /usr/include/boost/tr1/tuple.hpp:58,
                 from src/doctype.cpp:12:
/usr/include/c++/6/tuple:1521:5: note: candidate: constexpr
std::tuple<_Elements& ...> std::tie(_Elements& ...) [with _Elements = {bool,
bool}]
     tie(_Elements&... __args) noexcept
     ^~~
src/doctype.cpp:143:20: error: call of overloaded 'tie(bool&, bool&)' is
ambiguous
    tie(result, done) = m_sub->allow(name);
                    ^
Best,
Gert



-- System Information:
Debian Release: stretch/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.5.0-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libzeep-3.0-g++-6-boost1.60.patch
Type: text/x-diff
Size: 3494 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/debian-med-packaging/attachments/20160511/a4c76e27/attachment.patch>


More information about the Debian-med-packaging mailing list