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

Reply via email to