Source: reflect-cpp
Version: 0.18.0+ds-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past) X-Debbugs-Cc:
sramacher@debian.org
Dear maintainer,
reflect-cpp fails to build on armel, armhf, and i386:
https://buildd.debian.org/status/fetch.php?pkg=reflect-cpp&arch=i386&ver=0.18.0%2Bds-1&stamp=1744354989&raw=0
[69/544] /usr/bin/c++ -I/build/reproducible-path/reflect-cpp-0.18.0+ds/include -I/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/thirdparty -I/build/reproducible-path/reflect-cpp-0.18.0+ds/obj-i686-linux-gnu/include -isystem //include -
isystem /usr/include/libbson-1.0 -g -O2 -ffile-prefix-map=/build/reproducible-path/reflect-cpp-0.18.0+ds=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -Wall -Werror -ggdb -ftemplate-backtrace-limit=0 -std=
gnu++20 -DGTEST_HAS_PTHREAD=1 -Winvalid-pch -include /build/reproducible-path/reflect-cpp-0.18.0+ds/obj-i686-linux-gnu/tests/json/CMakeFiles/reflect-cpp-json-tests.dir/cmake_pch.hxx -MD -MT tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.
o -MF tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o.d -o tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o -c /build/reproducible-path/reflect-cpp-0.18.0+ds/tests/json/test_array.cpp
FAILED: tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o /usr/bin/c++ -I/build/reproducible-path/reflect-cpp-0.18.0+ds/include -I/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/thirdparty -I/build/reproducible-path/reflect-cpp-0.18.0+ds/obj-i686-linux-gnu/include -isystem //include -isystem /usr/
include/libbson-1.0 -g -O2 -ffile-prefix-map=/build/reproducible-path/reflect-cpp-0.18.0+ds=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -Wall -Werror -ggdb -ftemplate-backtrace-limit=0 -std=gnu++20 -
DGTEST_HAS_PTHREAD=1 -Winvalid-pch -include /build/reproducible-path/reflect-cpp-0.18.0+ds/obj-i686-linux-gnu/tests/json/CMakeFiles/reflect-cpp-json-tests.dir/cmake_pch.hxx -MD -MT tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o -MF
tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o.d -o tests/json/CMakeFiles/reflect-cpp-json-tests.dir/test_array.cpp.o -c /build/reproducible-path/reflect-cpp-0.18.0+ds/tests/json/test_array.cpp
In file included from /usr/include/c++/14/string_view:48,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/Field.hpp:5,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/AddStructName.hpp:6,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl.hpp:10,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/obj-i686-linux-gnu/tests/json/CMakeFiles/reflect-cpp-json-tests.dir/cmake_pch.hxx:5,
from <command-line>:
In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/
include/c++/14/bits/basic_string.h:688:23,
inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const _CharT*) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /
usr/include/c++/14/bits/basic_string.h:3735:43,
inlined from ‘std::optional<rfl::Error> rfl::parsing::ArrayReader<R, W, ProcessorsType, T, _size>::read(const InputVarType&) const [with R = rfl::json::Reader; W = rfl::json::Writer; ProcessorsType = rfl::Processors<>; T = test_array::Person;
unsigned int _size = 3]’ at /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp:40:56:
/usr/include/c++/14/bits/char_traits.h:427:56: error: ‘void* __builtin_memcpy(void*, const void*, unsigned int)’ forming offset [24, 42] is out of the bounds [0, 24] of object ‘<anonymous>’ with type ‘std::__cxx11::basic_string<char>’ [-
Werror=array-bounds=]
427 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/Parser_array.hpp:14,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/Parser.hpp:4,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/generic/Parser.hpp:4,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/generic/read.hpp:10,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/from_generic.hpp:5,
from /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl.hpp:61:
/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp: In member function ‘std::optional<rfl::Error> rfl::parsing::ArrayReader<R, W, ProcessorsType, T, _size>::read(const InputVarType&) const [with R = rfl::json::Reader; W =
rfl::json::Writer; ProcessorsType = rfl::Processors<>; T = test_array::Person; unsigned int _size = 3]’:
/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp:40:56: note: ‘<anonymous>’ declared here
40 | return Error("Expected " + std::to_string(size_) +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
41 | " elements, got at least " + std::to_string(size_ + 1) +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static constexpr std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)’,
inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]’ at /usr/
include/c++/14/bits/basic_string.h:688:23,
inlined from ‘constexpr std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const _CharT*) [with _CharT = char; _Traits = char_traits<char>; _Alloc = allocator<char>]’ at /
usr/include/c++/14/bits/basic_string.h:3735:43,
inlined from ‘std::optional<rfl::Error> rfl::parsing::ArrayReader<R, W, ProcessorsType, T, _size>::check_size() const [with R = rfl::json::Reader; W = rfl::json::Writer; ProcessorsType = rfl::Processors<>; T = test_array::Person; unsigned int _size
= 3]’ at /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp:30:56,
inlined from ‘rfl::parsing::Parser<rfl::json::Reader, rfl::json::Writer, std::array<test_array::Person, 3>, rfl::Processors<> >::read(const rfl::json::Reader&, const InputVarType&)::<lambda(const rfl::parsing::Parser<rfl::json::Reader, rfl::json::
Writer, std::array<test_array::Person, 3>, rfl::Processors<> >::InputArrayType&)>’ at /build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/Parser_array.hpp:45:36:
/usr/include/c++/14/bits/char_traits.h:427:56: error: ‘void* __builtin_memcpy(void*, const void*, unsigned int)’ forming offset [24, 33] is out of the bounds [0, 24] of object ‘<anonymous>’ with type ‘std::__cxx11::basic_string<char>’ [-
Werror=array-bounds=]
427 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp: In function ‘rfl::parsing::Parser<rfl::json::Reader, rfl::json::Writer, std::array<test_array::Person, 3>, rfl::Processors<> >::read(const rfl::json::Reader&, const
InputVarType&)::<lambda(const rfl::parsing::Parser<rfl::json::Reader, rfl::json::Writer, std::array<test_array::Person, 3>, rfl::Processors<> >::InputArrayType&)>’:
/build/reproducible-path/reflect-cpp-0.18.0+ds/include/rfl/parsing/ArrayReader.hpp:30:56: note: ‘<anonymous>’ declared here
30 | return Error("Expected " + std::to_string(size_) + " elements, got " +
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Cheers
--
Sebastian Ramacher
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)