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