pybind / pybind11_protobuf

Pybind11 bindings for Google's Protocol Buffers
Other
54 stars 33 forks source link

Import https://github.com/pybind/pybind11_protobuf/pull/162: #166

Closed copybara-service[bot] closed 1 month ago

copybara-service[bot] commented 1 month ago

Import https://github.com/pybind/pybind11_protobuf/pull/162:

Actually running the tests is left for another PR (see #162 for difficulties encountered):

Manual import. The Google-internal repo is the source of truth for pybind11_protobuf. Sorry we didn't get to automating imports from GitHub PRs.

rwgk commented 1 month ago

JIC someone is wondering later why I was closing and re-opening this PR:

This step currently hangs (10+ minutes):

Checking for ability to merge automatically… Hang in there while we check the branch’s status.

GitHub Actions didn't trigger.

rwgk commented 1 month ago

Build error when using abseil-cpp 20240116.0:

2024-06-28T21:04:16.2980369Z [ 48%] Building CXX object _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arena.cc.o

2024-06-28T21:04:16.2989467Z cd /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-build && /usr/bin/c++ -DGOOGLE_PROTOBUF_CMAKE_BUILD -DHAVE_ZLIB -I/home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-build -I/home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src -I/home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/third_party/utf8_range -I/home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/absl-src -std=c++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -MD -MT _deps/protobuf-build/CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arena.cc.o -MF CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arena.cc.o.d -o CMakeFiles/libprotobuf-lite.dir/src/google/protobuf/arena.cc.o -c /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc

2024-06-28T21:04:17.3296972Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:472:49: error: ‘Layout’ in namespace ‘absl::lts_20240116::container_internal’ does not name a template type
2024-06-28T21:04:17.3299385Z   472 |   using layout_type = absl::container_internal::Layout<
2024-06-28T21:04:17.3300260Z       |                                                 ^~~~~~
2024-06-28T21:04:17.3303523Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:494:20: error: ‘layout_type’ does not name a type
2024-06-28T21:04:17.3305278Z   494 |   constexpr static layout_type Layout(size_t n) {
2024-06-28T21:04:17.3306012Z       |                    ^~~~~~~~~~~
2024-06-28T21:04:17.3391064Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘absl::lts_20240116::Span<const std::atomic<void*> > google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ids() const’:
2024-06-28T21:04:17.3394767Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:417:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.3396681Z   417 |     return Layout(capacity()).Slice<kIds>(ptr()).first(safe_size());
2024-06-28T21:04:17.3397483Z       |            ^~~~~~
2024-06-28T21:04:17.3587165Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:417:50: error: request for member ‘first’ in ‘((const google::protobuf::internal::ThreadSafeArena::SerialArenaChunk*)this)->google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ptr()’, which is of non-class type ‘const char*’
2024-06-28T21:04:17.3590589Z   417 |     return Layout(capacity()).Slice<kIds>(ptr()).first(safe_size());
2024-06-28T21:04:17.3591490Z       |                                                  ^~~~~
2024-06-28T21:04:17.3594255Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘absl::lts_20240116::Span<std::atomic<void*> > google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ids()’:
2024-06-28T21:04:17.3597725Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:420:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.3600271Z   420 |     return Layout(capacity()).Slice<kIds>(ptr()).first(safe_size());
2024-06-28T21:04:17.3601124Z       |            ^~~~~~
2024-06-28T21:04:17.3604402Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:420:50: error: request for member ‘first’ in ‘((google::protobuf::internal::ThreadSafeArena::SerialArenaChunk*)this)->google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ptr()’, which is of non-class type ‘char*’
2024-06-28T21:04:17.3607445Z   420 |     return Layout(capacity()).Slice<kIds>(ptr()).first(safe_size());
2024-06-28T21:04:17.3608294Z       |                                                  ^~~~~
2024-06-28T21:04:17.3610832Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘std::atomic<void*>& google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::id(uint32_t)’:
2024-06-28T21:04:17.3707815Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:424:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.3709591Z   424 |     return Layout(capacity()).Pointer<kIds>(ptr())[i];
2024-06-28T21:04:17.3710779Z       |            ^~~~~~
2024-06-28T21:04:17.3713876Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘absl::lts_20240116::Span<const std::atomic<google::protobuf::internal::SerialArena*> > google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::arenas() const’:
2024-06-28T21:04:17.3717786Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:429:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.3719693Z   429 |     return Layout(capacity()).Slice<kArenas>(ptr()).first(safe_size());
2024-06-28T21:04:17.4143091Z       |            ^~~~~~
2024-06-28T21:04:17.4146853Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:429:53: error: request for member ‘first’ in ‘((const google::protobuf::internal::ThreadSafeArena::SerialArenaChunk*)this)->google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ptr()’, which is of non-class type ‘const char*’
2024-06-28T21:04:17.4150223Z   429 |     return Layout(capacity()).Slice<kArenas>(ptr()).first(safe_size());
2024-06-28T21:04:17.4151089Z       |                                                     ^~~~~
2024-06-28T21:04:17.4154066Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘absl::lts_20240116::Span<std::atomic<google::protobuf::internal::SerialArena*> > google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::arenas()’:
2024-06-28T21:04:17.4157895Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:432:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.4159852Z   432 |     return Layout(capacity()).Slice<kArenas>(ptr()).first(safe_size());
2024-06-28T21:04:17.4160689Z       |            ^~~~~~
2024-06-28T21:04:17.4163965Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:432:53: error: request for member ‘first’ in ‘((google::protobuf::internal::ThreadSafeArena::SerialArenaChunk*)this)->google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::ptr()’, which is of non-class type ‘char*’
2024-06-28T21:04:17.4167098Z   432 |     return Layout(capacity()).Slice<kArenas>(ptr()).first(safe_size());
2024-06-28T21:04:17.4168004Z       |                                                     ^~~~~
2024-06-28T21:04:17.4327440Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘const std::atomic<google::protobuf::internal::SerialArena*>& google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::arena(uint32_t) const’:
2024-06-28T21:04:17.4331060Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:436:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.4332869Z   436 |     return Layout(capacity()).Pointer<kArenas>(ptr())[i];
2024-06-28T21:04:17.4333602Z       |            ^~~~~~
2024-06-28T21:04:17.4336264Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘std::atomic<google::protobuf::internal::SerialArena*>& google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::arena(uint32_t)’:
2024-06-28T21:04:17.4339974Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:440:12: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.4342253Z   440 |     return Layout(capacity()).Pointer<kArenas>(ptr())[i];
2024-06-28T21:04:17.4342993Z       |            ^~~~~~
2024-06-28T21:04:17.4345633Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In static member function ‘static constexpr size_t google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::AllocSize(size_t)’:
2024-06-28T21:04:17.4349452Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:465:56: error: ‘Layout’ was not declared in this scope
2024-06-28T21:04:17.4351364Z   465 |   constexpr static size_t AllocSize(size_t n) { return Layout(n).AllocSize(); }
2024-06-28T21:04:17.4352336Z       |                                                        ^~~~~~
2024-06-28T21:04:17.4355197Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘google::protobuf::internal::SerialArenaChunkHeader& google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::header()’:
2024-06-28T21:04:17.4358770Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:479:13: error: ‘layout_type’ has not been declared
2024-06-28T21:04:17.4360584Z   479 |     return *layout_type::Partial().Pointer<kHeader>(ptr());
2024-06-28T21:04:17.4361327Z       |             ^~~~~~~~~~~
2024-06-28T21:04:17.4364135Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In member function ‘const google::protobuf::internal::SerialArenaChunkHeader& google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::header() const’:
2024-06-28T21:04:17.4367731Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:482:13: error: ‘layout_type’ has not been declared
2024-06-28T21:04:17.4369455Z   482 |     return *layout_type::Partial().Pointer<kHeader>(ptr());
2024-06-28T21:04:17.4370162Z       |             ^~~~~~~~~~~
2024-06-28T21:04:17.4373342Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc: In static member function ‘static google::protobuf::internal::ThreadSafeArena::SerialArenaChunk* google::protobuf::internal::ThreadSafeArena::NewSerialArenaChunk(uint32_t, void*, google::protobuf::internal::SerialArena*)’:
2024-06-28T21:04:17.4377915Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:627:61:   in ‘constexpr’ expansion of ‘google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::AllocSize(0)’
2024-06-28T21:04:17.4381338Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:627:63: error: ‘constexpr’ call flows off the end of the function
2024-06-28T21:04:17.4383209Z   627 |   constexpr size_t kHeaderSize = SerialArenaChunk::AllocSize(0);
2024-06-28T21:04:17.4384018Z       |                                                               ^
2024-06-28T21:04:17.4386687Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:628:60:   in ‘constexpr’ expansion of ‘google::protobuf::internal::ThreadSafeArena::SerialArenaChunk::AllocSize(1)’
2024-06-28T21:04:17.4389931Z /home/runner/work/pybind11_protobuf/pybind11_protobuf/build/_deps/protobuf-src/src/google/protobuf/arena.cc:628:66: error: ‘constexpr’ call flows off the end of the function
2024-06-28T21:04:17.4392039Z   628 |   constexpr size_t kEntrySize = SerialArenaChunk::AllocSize(1) - kHeaderSize;
2024-06-28T21:04:17.4392952Z       |                                                                  ^~~~~~~~~~~