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 debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org