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!
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]