user/protobuf: (32-bit?) FTBFS: error: static assertion failed / static_assert(sizeof(T) <= kRepHeaderSize, "");
Found on armv7:
...
[ 66%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/compiler/python/python_plugin_unittest.cc.o
[ 66%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/compiler/ruby/ruby_generator_unittest.cc.o
[ 67%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/descriptor_database_unittest.cc.o
In file included from /usr/include/c++/8.5.0/vector:69,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/descriptor_database.h:44,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/descriptor_database_unittest.cc:37:
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {testing::Matcher<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>}; _Tp = testing::Matcher<const std::__cxx11::basic_string<char>&>; _Alloc = std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator<testing::Matcher<const std::__cxx11::basic_string<char>&>*, std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > > >’} changed in GCC 7.1
vector<_Tp, _Alloc>::
^~~~~~~~~~~~~~~~~~~
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {testing::Matcher<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>}; _Tp = testing::Matcher<const std::__cxx11::basic_string<char>&>; _Alloc = std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<testing::Matcher<const std::__cxx11::basic_string<char>&>*, std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > > >’ changed in GCC 7.1
_M_realloc_insert(end(), std::forward<_Args>(__args)...);
^~~~~~~~~~~~~~~~~
[ 67%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/descriptor_unittest.cc.o
In file included from /usr/include/c++/8.5.0/vector:69,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/descriptor_unittest.cc:39:
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {testing::Matcher<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>}; _Tp = testing::Matcher<const std::__cxx11::basic_string<char>&>; _Alloc = std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator<testing::Matcher<const std::__cxx11::basic_string<char>&>*, std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > > >’} changed in GCC 7.1
vector<_Tp, _Alloc>::
^~~~~~~~~~~~~~~~~~~
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {testing::Matcher<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>}; _Tp = testing::Matcher<const std::__cxx11::basic_string<char>&>; _Alloc = std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<testing::Matcher<const std::__cxx11::basic_string<char>&>*, std::vector<testing::Matcher<const std::__cxx11::basic_string<char>&>, std::allocator<testing::Matcher<const std::__cxx11::basic_string<char>&> > > >’ changed in GCC 7.1
_M_realloc_insert(end(), std::forward<_Args>(__args)...);
^~~~~~~~~~~~~~~~~
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {testing::Matcher<const google::protobuf::FieldDescriptor* const&>}; _Tp = testing::Matcher<const google::protobuf::FieldDescriptor* const&>; _Alloc = std::allocator<testing::Matcher<const google::protobuf::FieldDescriptor* const&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<testing::Matcher<const google::protobuf::FieldDescriptor* const&>, std::allocator<testing::Matcher<const google::protobuf::FieldDescriptor* const&> > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator<testing::Matcher<const google::protobuf::FieldDescriptor* const&>*, std::vector<testing::Matcher<const google::protobuf::FieldDescriptor* const&>, std::allocator<testing::Matcher<const google::protobuf::FieldDescriptor* const&> > > >’} changed in GCC 7.1
vector<_Tp, _Alloc>::
^~~~~~~~~~~~~~~~~~~
/usr/include/c++/8.5.0/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {testing::Matcher<const google::protobuf::FieldDescriptor* const&>}; _Tp = testing::Matcher<const google::protobuf::FieldDescriptor* const&>; _Alloc = std::allocator<testing::Matcher<const google::protobuf::FieldDescriptor* const&> >]’:
/usr/include/c++/8.5.0/bits/vector.tcc:109:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<testing::Matcher<const google::protobuf::FieldDescriptor* const&>*, std::vector<testing::Matcher<const google::protobuf::FieldDescriptor* const&>, std::allocator<testing::Matcher<const google::protobuf::FieldDescriptor* const&> > > >’ changed in GCC 7.1
_M_realloc_insert(end(), std::forward<_Args>(__args)...);
^~~~~~~~~~~~~~~~~
[ 67%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/drop_unknown_fields_test.cc.o
[ 67%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/dynamic_message_unittest.cc.o
[ 68%] Building CXX object CMakeFiles/tests.dir/src/google/protobuf/extension_set_unittest.cc.o
In file included from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/implicit_weak_message.h:39,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/generated_message_util.h:54,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/generated_message_bases.h:40,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/unittest.pb.h:26,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/test_util.h:38,
from /root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/extension_set_unittest.cc:39:
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h: In instantiation of ‘constexpr int google::protobuf::internal::RepeatedFieldLowerClampLimit() [with T = long long int; int kRepHeaderSize = 4]’:
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/extension_set_unittest.cc:844:3: required from here
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h:81:27: error: static assertion failed
static_assert(sizeof(T) <= kRepHeaderSize, "");
~~~~~~~~~~^~~~~~~~~~~~~~~~~
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h: In instantiation of ‘constexpr int google::protobuf::internal::RepeatedFieldLowerClampLimit() [with T = long long unsigned int; int kRepHeaderSize = 4]’:
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/extension_set_unittest.cc:846:3: required from here
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h:81:27: error: static assertion failed
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h: In instantiation of ‘constexpr int google::protobuf::internal::RepeatedFieldLowerClampLimit() [with T = double; int kRepHeaderSize = 4]’:
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/extension_set_unittest.cc:854:3: required from here
/root/packages/user/protobuf/src/protobuf-3.20.1/src/google/protobuf/repeated_field.h:81:27: error: static assertion failed
make[2]: *** [CMakeFiles/tests.dir/build.make:652: CMakeFiles/tests.dir/src/google/protobuf/extension_set_unittest.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:263: CMakeFiles/tests.dir/all] Error 2
make: *** [Makefile:146: all] Error 2