On Tue, Jul 10 2018, Jeremie Courreges-Anglas <[email protected]> wrote: > On Thu, Jun 21 2018, Theo Buehler <[email protected]> wrote: >> At work we need protobuf 3 instead of the old protobuf 2 we have in the >> ports tree. It would be great if we could update the in-tree version >> from 2.4.1 to something more recent. >> >> protobuf 3.6.0 was released a couple of days ago. The diff below is >> based on the protobuf 3.5.1 port in openbsd-wip plus an attempt at >> updating the fixes for the regression tests from the in-tree port. >> >> devel/protobuf-c would need to be bumped to 1.3.0 since that is the >> first version with proto3 support. I'll send an update for that in a >> separate mail. >> >> The diff for protobuf 3.6.0 below is obviously not yet perfect. Even >> with my best efforts to port the relevant parts of Greg Steuck's fixes >> sthen committed for the 2.4.1 tests, there are a few that abort with >> this trace: >> >> #0 thrkill () at -:3 >> #1 0x00000ff87f07adde in _libc_abort () at >> /usr/src/lib/libc/stdlib/abort.c:51 >> #2 0x00000ff8ff9f8e97 in testing::internal::GTestLog::~GTestLog() () from >> /usr/local/lib/libgtest.so.1.0 >> #3 0x00000ff95858c8ea in >> testing::internal::ThreadLocal<testing::Sequence*>::~ThreadLocal() () >> from /usr/local/lib/libgmock.so.0.0 >> #4 0x00000ff87f00c39c in _libc___cxa_finalize (dso=0x0) at >> /usr/src/lib/libc/stdlib/atexit.c:177 >> #5 0x00000ff87f078c61 in _libc_exit (status=0) at >> /usr/src/lib/libc/stdlib/exit.c:54 >> #6 0x00000ff67e6025fd in _start () >> >> As a result, 4 out of 7 tests report failures. Does that ring a bell for >> anyone? >> >> >> I checked sqlports for direct dependents of protobuf and protobuf-c and >> found these: >> >> audio/clementine >> audio/mumble >> audio/umurmur >> games/pokerth >> net/dnsdist >> net/mosh >> net/ocserv >> sysutils/collectd,-prometheus >> sysutils/riemann-c-client >> x11/kde4/marble >> >> Except for mumble and pokerth, the above ports build, their 'make test' >> (if applicable) looks fine and they pass light runtime testing as well, >> so I think I'm in good shape. >> >> audio/mumble: >> >> In file included from Mumble.pb.cc:4: >> In file included from ./Mumble.pb.h:25: >> In file included from >> /usr/local/include/google/protobuf/generated_message_table_driven.h:34: >> In file included from /usr/local/include/google/protobuf/map.h:49: >> In file included from >> /usr/local/include/google/protobuf/map_type_handler.h:35: >> In file included from >> /usr/local/include/google/protobuf/wire_format_lite_inl.h:43: >> /usr/local/include/google/protobuf/message_lite.h:117:3: fatal error: >> unknown type name 'constexpr' >> constexpr const T& get() const { return reinterpret_cast<const >> T&>(union_); } >> ^ >> >> games/pokerth: >> >> ===> Configuring for pokerth-1.1.2 >> cd /usr/ports/pobj/pokerth-1.1.2/pokerth-1.1.2-rc && protoc >> --cpp_out=src/third_party/protobuf chatcleaner.proto && protoc >> --cpp_out=src/third_party/protobuf pokerth.proto >> [libprotobuf WARNING >> /usr/ports/pobj/protobuf-3.6.0/protobuf-3.6.0/src/google/protobuf/compiler/parser.cc:562] >> No syntax specified for the proto file: chatcleaner.proto. Please use >> 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. >> (Defaulted to proto2 syntax.) >> [libprotobuf WARNING >> /usr/ports/pobj/protobuf-3.6.0/protobuf-3.6.0/src/google/protobuf/compiler/parser.cc:562] >> No syntax specified for the proto file: pokerth.proto. Please use >> 'syntax = "proto2";' or 'syntax = "proto3";' to specify a syntax version. >> (Defaulted to proto2 syntax.) >> pokerth.proto:704:26: Expected enum value or number range. >> *** Error 1 in . (Makefile:59 'pre-configure') >> >> >> And finally, here's my diff for protobuf 3.6.0: > > All consumers build-tested on sparc64 (except for x11/kde4/marble). > The updated diff below is needed, mostly because the protobuf headers > now require C++11 support. The diff includes a slightly tweaked version > of your pokerth and mumble diffs. > > As far as I'm concerned this is ready to go in, ok jca@
fwiw I know that ports-gcc can't build this updated protobuf version on powerpc. Well, tough luck. -- jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
