[Debian-med-packaging] Bug#710543: libzeep: FTBFS on s390: call of overloaded 'object(size_t)' is ambiguous
Aaron M. Ucko
ucko at debian.org
Fri May 31 18:08:11 UTC 2013
Source: libzeep
Version: 3.0.0-1
Severity: serious
Justification: fails to build from source
The s390 build of libzeep failed with
src/webapp-el.cpp: In member function 'zeep::http::el::object zeep::http::el::interpreter::parse_primary_expr()':
src/webapp-el.cpp:1550:37: error: call of overloaded 'object(size_t)' is ambiguous
src/webapp-el.cpp:1550:37: note: candidates are:
src/webapp-el.cpp:585:1: note: zeep::http::el::object::object(const string&) <near match>
src/webapp-el.cpp:585:1: note: no known conversion for argument 1 from 'size_t {aka long unsigned int}' to 'const string& {aka const std::basic_string<char>&}'
src/webapp-el.cpp:578:1: note: zeep::http::el::object::object(const char*) <near match>
src/webapp-el.cpp:578:1: note: no known conversion for argument 1 from 'size_t {aka long unsigned int}' to 'const char*'
src/webapp-el.cpp:573:1: note: zeep::http::el::object::object(double)
src/webapp-el.cpp:568:1: note: zeep::http::el::object::object(float)
src/webapp-el.cpp:563:1: note: zeep::http::el::object::object(uint64)
src/webapp-el.cpp:558:1: note: zeep::http::el::object::object(int64)
src/webapp-el.cpp:553:1: note: zeep::http::el::object::object(uint32)
src/webapp-el.cpp:548:1: note: zeep::http::el::object::object(int32)
src/webapp-el.cpp:543:1: note: zeep::http::el::object::object(uint16)
src/webapp-el.cpp:538:1: note: zeep::http::el::object::object(int16)
src/webapp-el.cpp:533:1: note: zeep::http::el::object::object(uint8)
src/webapp-el.cpp:528:1: note: zeep::http::el::object::object(int8)
src/webapp-el.cpp:522:1: note: zeep::http::el::object::object(bool)
src/webapp-el.cpp:478:1: note: zeep::http::el::object::object(zeep::http::el::detail::object_impl*) <near match>
src/webapp-el.cpp:478:1: note: no known conversion for argument 1 from 'size_t {aka long unsigned int}' to 'zeep::http::el::detail::object_impl*'
src/webapp-el.cpp:483:1: note: zeep::http::el::object::object(const zeep::http::el::object&)
make[2]: *** [obj/webapp-el.o] Error 1
It seems that s390 is one of those 32-bit architectures on which size_t
is formally unsigned long whereas uint32 is formally unsigned int; even
though both types are equivalent in practice, the compiler insists on
treating them as distinct, leading to that error. To compensate, I'd
suggest casting result.count() to uint64 on line 1550; all the variants
of object's constructor that take integral types ultimately widen them
to 64 bits anyway.
Could you please take a look?
Thanks!
More information about the Debian-med-packaging
mailing list