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

Reply via email to