Package: protobuf
Version: 2.6.1-1.3
Severity: important
User: [email protected]
Usertags: ftbfs-gcc-6 gcc-6-cannot-convert

This package fails to build with GCC 6.  GCC 6 has not been released
yet, but it's expected that GCC 6 will become the default compiler for
stretch.

Note that only the first error is reported; there might be more.  You
can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
you can set CC=gcc-6 CXX=g++-6 explicitly.

> sbuild (Debian sbuild) 0.67.0 (26 Dec 2015) on dl580gen9-02.hlinux
...
> x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall 
> -Wstrict-prototypes -fno-strict-aliasing -g -O2 -fstack-protector-strong 
> -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC 
> -DGOOGLE_PROTOBUF_HAS_ONEOF=1 -I. -I../src -I/usr/include/python2.7 -c 
> google/protobuf/pyext/message.cc -o 
> build/temp.linux-x86_64-2.7/google/protobuf/pyext/message.o
> cc1plus: warning: command line option '-Wstrict-prototypes' is valid for 
> C/ObjC but not for C++
> In file included from ../src/google/protobuf/descriptor.pb.h:23:0,
>                  from google/protobuf/pyext/message.cc:49:
> ../src/google/protobuf/message.h:123:0: warning: "GOOGLE_PROTOBUF_HAS_ONEOF" 
> redefined
>  #define GOOGLE_PROTOBUF_HAS_ONEOF
>  
> 
> <command-line>:0:0: note: this is the location of the previous definition
> 
> In file included from google/protobuf/pyext/message.cc:34:0:
> ./google/protobuf/pyext/message.h:53:7: error: 'internal' has not been 
> declared
>  using internal::shared_ptr;
>        ^~~~~~~~
> 
> ./google/protobuf/pyext/message.h:67:3: error: 'shared_ptr' does not name a 
> type
>    shared_ptr<Message> owner;
>    ^~~~~~~~~~
> 
> ./google/protobuf/pyext/message.h:215:36: error: 'shared_ptr' does not name a 
> type
>  int SetOwner(CMessage* self, const shared_ptr<Message>& new_owner);
>                                     ^~~~~~~~~~
> 
> ./google/protobuf/pyext/message.h:215:46: error: expected ',' or '...' before 
> '<' token
>  int SetOwner(CMessage* self, const shared_ptr<Message>& new_owner);
>                                               ^
> 
> ./google/protobuf/pyext/message.h:297:58: error: 'string' has not been 
> declared
>      const google::protobuf::FieldDescriptor* descriptor, string value);
>                                                           ^~~~~~
> 
> In file included from google/protobuf/pyext/message.cc:57:0:
> ./google/protobuf/pyext/extension_dict.h:51:17: error: 
> 'google::protobuf::internal::shared_ptr' has not been declared
>  using internal::shared_ptr;
>                  ^~~~~~~~~~
> 
> In file included from google/protobuf/pyext/message.cc:58:0:
> ./google/protobuf/pyext/repeated_composite_container.h:53:17: error: 
> 'google::protobuf::internal::shared_ptr' has not been declared
>  using internal::shared_ptr;
>                  ^~~~~~~~~~
> 
> In file included from google/protobuf/pyext/message.cc:59:0:
> ./google/protobuf/pyext/repeated_scalar_container.h:50:17: error: 
> 'google::protobuf::internal::shared_ptr' has not been declared
>  using internal::shared_ptr;
>                  ^~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In function 'bool 
> google::protobuf::python::CheckAndGetDouble(PyObject*, double*)':
> google/protobuf/pyext/message.cc:276:44: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>      FormatTypeError(arg, "int, long, float");
>                                             ^
> 
> google/protobuf/pyext/message.cc: In function 'bool 
> google::protobuf::python::CheckAndGetBool(PyObject*, bool*)':
> google/protobuf/pyext/message.cc:294:43: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>      FormatTypeError(arg, "int, long, bool");
>                                            ^
> 
> google/protobuf/pyext/message.cc: In function 'bool 
> google::protobuf::python::CheckAndSetString(PyObject*, 
> google::protobuf::Message*, const google::protobuf::FieldDescriptor*, const 
> google::protobuf::Reflection*, bool, int)':
> google/protobuf/pyext/message.cc:311:44: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>        FormatTypeError(arg, "bytes, unicode");
>                                             ^
> 
> google/protobuf/pyext/message.cc:331:33: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>      FormatTypeError(arg, "bytes");
>                                  ^
> 
> google/protobuf/pyext/message.cc: In function 'int 
> google::protobuf::python::cmessage::AssureWritable(google::protobuf::python::CMessage*)':
> google/protobuf/pyext/message.cc:482:11: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>      self->owner.reset(self->message);
>            ^~~~~
> 
> google/protobuf/pyext/message.cc:489:32: warning: unused variable 
> 'parent_message' [-Wunused-variable]
>      google::protobuf::Message* parent_message = self->parent->message;
>                                 ^~~~~~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In function 'int 
> google::protobuf::python::cmessage::InitAttributes(google::protobuf::python::CMessage*,
>  PyObject*, PyObject*)':
> google/protobuf/pyext/message.cc:636:14: warning: converting to non-pointer 
> type 'int' from NULL [-Wconversion-null]
>        return NULL;
>               ^~~~
> 
> google/protobuf/pyext/message.cc:644:12: warning: converting to non-pointer 
> type 'int' from NULL [-Wconversion-null]
>      return NULL;
>             ^~~~
> 
> google/protobuf/pyext/message.cc:648:12: warning: converting to non-pointer 
> type 'int' from NULL [-Wconversion-null]
>      return NULL;
>             ^~~~
> 
> google/protobuf/pyext/message.cc:654:14: warning: converting to non-pointer 
> type 'int' from NULL [-Wconversion-null]
>        return NULL;
>               ^~~~
> 
> google/protobuf/pyext/message.cc: In function 'int 
> google::protobuf::python::cmessage::Init(google::protobuf::python::CMessage*, 
> PyObject*, PyObject*)':
> google/protobuf/pyext/message.cc:769:9: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    self->owner.reset(self->message);
>          ^~~~~
> 
> google/protobuf/pyext/message.cc: In function 'void 
> google::protobuf::python::cmessage::Dealloc(google::protobuf::python::CMessage*)':
> google/protobuf/pyext/message.cc:816:9: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    self->owner.reset();
>          ^~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::HasField(google::protobuf::python::CMessage*,
>  PyObject*)':
> google/protobuf/pyext/message.cc:903:39: warning: unused variable 
> 'descriptor' [-Wunused-variable]
>    const google::protobuf::Descriptor* descriptor = message->GetDescriptor();
>                                        ^~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In member function 'int 
> google::protobuf::python::cmessage::SetOwnerVisitor::VisitCMessage(google::protobuf::python::CMessage*,
>  const google::protobuf::FieldDescriptor*)':
> google/protobuf/pyext/message.cc:1005:41: error: cannot convert 'const 
> std::shared_ptr<google::protobuf::Message>' to 'int' for argument '2' to 'int 
> google::protobuf::python::cmessage::SetOwner(google::protobuf::python::CMessage*,
>  int)'
>      return SetOwner(cmessage, new_owner_);
>                                          ^
> 
> google/protobuf/pyext/message.cc: In function 'int 
> google::protobuf::python::cmessage::SetOwner(google::protobuf::python::CMessage*,
>  const std::shared_ptr<google::protobuf::Message>&)':
> google/protobuf/pyext/message.cc:1014:9: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    self->owner = new_owner;
>          ^~~~~
> 
> google/protobuf/pyext/message.cc: In function 'int 
> google::protobuf::python::cmessage::ReleaseSubMessage(google::protobuf::Message*,
>  const google::protobuf::FieldDescriptor*, 
> google::protobuf::python::CMessage*)':
> google/protobuf/pyext/message.cc:1049:19: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    child_cmessage->owner.swap(released_message);
>                    ^~~~~
> 
> google/protobuf/pyext/message.cc:1054:64: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>                                 SetOwnerVisitor(child_cmessage->owner));
>                                                                 ^~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::ClearField(google::protobuf::python::CMessage*,
>  PyObject*)':
> google/protobuf/pyext/message.cc:1132:39: warning: unused variable 
> 'descriptor' [-Wunused-variable]
>    const google::protobuf::Descriptor* descriptor = message->GetDescriptor();
>                                        ^~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::SerializeToString(google::protobuf::python::CMessage*,
>  PyObject*)':
> google/protobuf/pyext/message.cc:1217:67: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>          PyObject_CallMethod(comma.get(), "join", "O", errors.get()));
>                                                                    ^
> 
> google/protobuf/pyext/message.cc:1217:67: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::ListFields(google::protobuf::python::CMessage*)':
> google/protobuf/pyext/message.cc:1512:28: warning: comparison between signed 
> and unsigned integer expressions [-Wsign-compare]
>    for (Py_ssize_t i = 0; i < fields.size(); ++i) {
>                           ~~^~~~~~~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::FindInitializationErrors(google::protobuf::python::CMessage*)':
> google/protobuf/pyext/message.cc:1588:28: warning: comparison between signed 
> and unsigned integer expressions [-Wsign-compare]
>    for (Py_ssize_t i = 0; i < errors.size(); ++i) {
>                           ~~^~~~~~~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::InternalGetSubMessage(google::protobuf::python::CMessage*,
>  google::protobuf::python::CFieldDescriptor*)':
> google/protobuf/pyext/message.cc:1730:9: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    cmsg->owner = self->owner;
>          ^~~~~
> 
> google/protobuf/pyext/message.cc:1730:23: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>    cmsg->owner = self->owner;
>                        ^~~~~
> 
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::AddDescriptors(PyTypeObject*, PyObject*)':
> google/protobuf/pyext/message.cc:1900:55: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>           PyObject_CallMethod(field_name, "upper", NULL));
>                                                        ^
> 
> google/protobuf/pyext/message.cc:1906:68: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>           field_name_upcased, "__add__", "(O)", _NUMBER_string.get()));
>                                                                     ^
> 
> google/protobuf/pyext/message.cc:1906:68: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc:2008:58: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>          PyObject_CallMethod(extension_name, "upper", NULL));
>                                                           ^
> 
> google/protobuf/pyext/message.cc:2013:68: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>           field_name_upcased, "__add__", "(O)", _NUMBER_string.get()));
>                                                                     ^
> 
> google/protobuf/pyext/message.cc:2013:68: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc: At global scope:
> google/protobuf/pyext/message.cc:2132:1: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>  };
>  ^
> 
> google/protobuf/pyext/message.cc:2132:1: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc: In function 'PyObject* 
> google::protobuf::python::cmessage::GetAttr(google::protobuf::python::CMessage*,
>  PyObject*)':
> google/protobuf/pyext/message.cc:2234:34: error: 
> 'google::protobuf::python::CMessage {aka struct 
> google::protobuf::python::CMessage}' has no member named 'owner'
>          container->owner = self->owner;
>                                   ^~~~~
> 
> google/protobuf/pyext/message.cc: In instantiation of 'bool 
> google::protobuf::python::CheckAndGetInteger(PyObject*, T*, PyObject*, 
> PyObject*) [with T = int; PyObject = _object]':
> google/protobuf/pyext/message.cc:265:44:   required from here
> google/protobuf/pyext/message.cc:226:20: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
>      FormatTypeError(arg, "int, long");
>      ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> 
> google/protobuf/pyext/message.cc: In instantiation of 'bool 
> google::protobuf::python::CheckAndGetInteger(PyObject*, T*, PyObject*, 
> PyObject*) [with T = long int; PyObject = _object]':
> google/protobuf/pyext/message.cc:267:44:   required from here
> google/protobuf/pyext/message.cc:226:20: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc: In instantiation of 'bool 
> google::protobuf::python::CheckAndGetInteger(PyObject*, T*, PyObject*, 
> PyObject*) [with T = unsigned int; PyObject = _object]':
> google/protobuf/pyext/message.cc:269:45:   required from here
> google/protobuf/pyext/message.cc:226:20: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> google/protobuf/pyext/message.cc: In instantiation of 'bool 
> google::protobuf::python::CheckAndGetInteger(PyObject*, T*, PyObject*, 
> PyObject*) [with T = long unsigned int; PyObject = _object]':
> google/protobuf/pyext/message.cc:271:45:   required from here
> google/protobuf/pyext/message.cc:226:20: warning: ISO C++ forbids converting 
> a string constant to 'char*' [-Wwrite-strings]
> error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
> debian/rules:13: recipe for target 'override_dh_auto_build-arch' failed
> make[1]: *** [override_dh_auto_build-arch] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise

Reply via email to