In file included from /usr/include/c++/13/string:51,
from /usr/include/c++/13/bits/locale_classes.h:40,
from /usr/include/c++/13/bits/ios_base.h:41,
from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from /usr/include/boost/concept_check.hpp:22,
from /home/amino/Tools/gtsam/gtsam/base/concepts.h:14,
from /home/amino/Tools/gtsam/gtsam/base/Testable.h:36,
from /home/amino/Tools/gtsam/gtsam/discrete/AlgebraicDecisionTree.h:21,
from /home/amino/Tools/gtsam/gtsam/discrete/DecisionTreeFactor.h:21,
from /home/amino/Tools/gtsam/gtsam/discrete/DiscreteConditional.h:21,
from /home/amino/Tools/gtsam/gtsam/discrete/DiscreteBayesNet.h:21,
from /home/amino/Tools/gtsam/gtsam/hybrid/tests/testHybridGaussianISAM.cpp:19:
In function ‘constexpr int std::__memcmp(const _Tp*, const _Up*, size_t) [with _Tp = long unsigned int; _Up = long unsigned int]’,
inlined from ‘static bool std::__equal<true>::equal(const _Tp*, const _Tp*, const _Tp*) [with _Tp = long unsigned int]’ at /usr/include/c++/13/bits/stl_algobase.h:1185:27,
inlined from ‘bool std::__equal_aux1(_II1, _II1, _II2) [with _II1 = const long unsigned int*; _II2 = const long unsigned int*]’ at /usr/include/c++/13/bits/stl_algobase.h:1219:43,
inlined from ‘bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >; _II2 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >]’ at /usr/include/c++/13/bits/stl_algobase.h:1227:31,
inlined from ‘bool std::equal(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >; _II2 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >]’ at /usr/include/c++/13/bits/stl_algobase.h:1557:30,
inlined from ‘bool gtsam::Conditional<FACTOR, DERIVEDCONDITIONAL>::ConstFactorRangeIterator::operator==(const OTHER&) const [with OTHER = std::vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> >; FACTOR = gtsam::HybridFactor; DERIVEDCONDITIONAL = gtsam::HybridConditional]’ at /home/amino/Tools/gtsam/gtsam/inference/Conditional.h:91:26,
inlined from ‘virtual void HybridGaussianISAMIncrementalEliminationTest::run(TestResult&)’ at /home/amino/Tools/gtsam/gtsam/hybrid/tests/testHybridGaussianISAM.cpp:71:3:
/usr/include/c++/13/bits/stl_algobase.h:108:32: error: argument 2 null where non-null expected [-Werror=nonnull]
108 | return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:108:32: note: in a call to built-in function ‘int __builtin_memcmp(const void*, const void*, long unsigned int)’
In function ‘constexpr int std::__memcmp(const _Tp*, const _Up*, size_t) [with _Tp = long unsigned int; _Up = long unsigned int]’,
inlined from ‘static bool std::__equal<true>::equal(const _Tp*, const _Tp*, const _Tp*) [with _Tp = long unsigned int]’ at /usr/include/c++/13/bits/stl_algobase.h:1185:27,
inlined from ‘bool std::__equal_aux1(_II1, _II1, _II2) [with _II1 = const long unsigned int*; _II2 = const long unsigned int*]’ at /usr/include/c++/13/bits/stl_algobase.h:1219:43,
inlined from ‘bool std::__equal_aux(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >; _II2 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >]’ at /usr/include/c++/13/bits/stl_algobase.h:1227:31,
inlined from ‘bool std::equal(_II1, _II1, _II2) [with _II1 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >; _II2 = __gnu_cxx::__normal_iterator<const long unsigned int*, vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> > >]’ at /usr/include/c++/13/bits/stl_algobase.h:1557:30,
inlined from ‘bool gtsam::Conditional<FACTOR, DERIVEDCONDITIONAL>::ConstFactorRangeIterator::operator==(const OTHER&) const [with OTHER = std::vector<long unsigned int, tbb::detail::d1::tbb_allocator<long unsigned int> >; FACTOR = gtsam::HybridFactor; DERIVEDCONDITIONAL = gtsam::HybridConditional]’ at /home/amino/Tools/gtsam/gtsam/inference/Conditional.h:91:26,
inlined from ‘virtual void HybridGaussianISAMIncrementalEliminationTest::run(TestResult&)’ at /home/amino/Tools/gtsam/gtsam/hybrid/tests/testHybridGaussianISAM.cpp:83:3:
/usr/include/c++/13/bits/stl_algobase.h:108:32: error: argument 2 null where non-null expected [-Werror=nonnull]
108 | return __builtin_memcmp(__first1, __first2, sizeof(_Tp) * __num);
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/13/bits/stl_algobase.h:108:32: note: in a call to built-in function ‘int __builtin_memcmp(const void*, const void*, long unsigned int)’
cc1plus: all warnings being treated as errors
make[3]: *** [gtsam/hybrid/tests/CMakeFiles/testHybridGaussianISAM.dir/build.make:76: gtsam/hybrid/tests/CMakeFiles/testHybridGaussianISAM.dir/testHybridGaussianISAM.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:12296: gtsam/hybrid/tests/CMakeFiles/testHybridGaussianISAM.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2598: CMakeFiles/check.dir/rule] Error 2
make: *** [Makefile:199: check] Error 2
Ubuntu 24.04 LTS. cmake configuration is as follows:
During the build, there are two other warnings reported as well. I list only one here:
In file included from /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/ConfigureVectorization.h:346,
from /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/Core:22,
from /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/Dense:1,
from /home/amino/Tools/gtsam/gtsam/base/OptionalJacobian.h:24,
from /home/amino/Tools/gtsam/gtsam/base/Matrix.h:27,
from /home/amino/Tools/gtsam/gtsam_unstable/linear/QPSParser.cpp:20:
In function ‘void _mm_store_pd(double*, __m128d)’,
inlined from ‘void Eigen::internal::pstore(Scalar*, const Packet&) [with Scalar = double; Packet = __vector(2) double]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/arch/SSE/PacketMath.h:790:126,
inlined from ‘void Eigen::internal::pstoret(Scalar*, const Packet&) [with Scalar = double; Packet = __vector(2) double; int Alignment = 16]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/GenericPacketMath.h:978:11,
inlined from ‘void Eigen::internal::assign_op<DstScalar, SrcScalar>::assignPacket(DstScalar*, const Packet&) const [with int Alignment = 16; Packet = __vector(2) double; DstScalar = double; SrcScalar = double]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/functors/AssignmentFunctors.h:28:50,
inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index, Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; PacketType = __vector(2) double; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<double, -1, -1> >; Functor = Eigen::internal::assign_op<double, double>; int Version = 0]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:675:47,
inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacketByOuterInner(Eigen::Index, Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; PacketType = __vector(2) double; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<double, -1, -1> >; Functor = Eigen::internal::assign_op<double, double>; int Version = 0]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:689:48,
inlined from ‘static void Eigen::internal::dense_assignment_loop<Kernel, 4, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false> >, Eigen::internal::evaluator<Eigen::Matrix<double, -1, -1> >, Eigen::internal::assign_op<double, double>, 0>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:572:86,
inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; SrcXprType = Eigen::Matrix<double, -1, -1>; Functor = assign_op<double, double>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:785:37,
inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; SrcXprType = Eigen::Matrix<double, -1, -1>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:954:31,
inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Src = Eigen::Matrix<double, -1, -1>; Func = assign_op<double, double>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:890:49,
inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename enable_if<(! evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Src = Eigen::Matrix<double, -1, -1>; Func = assign_op<double, double>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:858:27,
inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>; Src = Eigen::Matrix<double, -1, -1>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:836:18,
inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<double, -1, -1>; Derived = Eigen::Block<Eigen::Matrix<double, -1, -1>, -1, -1, false>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/Assign.h:66:28,
inlined from ‘void gtsam::JacobianFactor::fillTerms(const TERMS&, const gtsam::Vector&, const gtsam::SharedDiagonal&) [with TERMS = std::map<long unsigned int, Eigen::Matrix<double, 1, 1, 0, 1, 1> >]’ at /home/amino/Tools/gtsam/gtsam/linear/JacobianFactor-inl.h:90:14:
/usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:169:19: warning: ‘void* __builtin_memcpy(void*, const void*, long unsigned int)’ reading 16 or more bytes from a region of size 8 [-Wstringop-overread]
169 | *(__m128d *)__P = __A;
| ~~~~~~~~~~~~~~~~^~~~~
In file included from /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/Core:166:
In function ‘void* Eigen::internal::aligned_malloc(std::size_t)’,
inlined from ‘void* Eigen::internal::conditional_aligned_malloc(std::size_t) [with bool Align = true]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/Memory.h:241:24,
inlined from ‘T* Eigen::internal::conditional_aligned_new_auto(std::size_t) [with T = double; bool Align = true]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/Memory.h:404:69,
inlined from ‘void Eigen::DenseStorage<T, -1, -1, -1, _Options>::resize(Eigen::Index, Eigen::Index, Eigen::Index) [with T = double; int _Options = 0]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/DenseStorage.h:486:85,
inlined from ‘void Eigen::PlainObjectBase<Derived>::resize(Eigen::Index, Eigen::Index) [with Derived = Eigen::Matrix<double, -1, -1>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:285:25,
inlined from ‘void Eigen::internal::resize_if_allowed(DstXprType&, const SrcXprType&, const assign_op<T1, T2>&) [with DstXprType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Matrix<double, 1, 1, 0, 1, 1>; T1 = double; T2 = double]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:764:15,
inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Matrix<double, 1, 1, 0, 1, 1>; Functor = assign_op<double, double>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:778:20,
inlined from ‘static void Eigen::internal::Assignment<DstXprType, SrcXprType, Functor, Eigen::internal::Dense2Dense, Weak>::run(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Matrix<double, -1, -1>; SrcXprType = Eigen::Matrix<double, 1, 1, 0, 1, 1>; Functor = Eigen::internal::assign_op<double, double>; Weak = void]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:954:31,
inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, -1>; Src = Eigen::Matrix<double, 1, 1, 0, 1, 1>; Func = assign_op<double, double>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/AssignEvaluator.h:890:49,
inlined from ‘Derived& Eigen::PlainObjectBase<Derived>::_set_noalias(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<double, 1, 1, 0, 1, 1>; Derived = Eigen::Matrix<double, -1, -1>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:797:41,
inlined from ‘void Eigen::PlainObjectBase<Derived>::_init1(const Eigen::DenseBase<ElseDerived>&) [with T = Eigen::Matrix<double, 1, 1, 0, 1, 1>; OtherDerived = Eigen::Matrix<double, 1, 1, 0, 1, 1>; Derived = Eigen::Matrix<double, -1, -1>]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/PlainObjectBase.h:883:25,
inlined from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const T&) [with T = Eigen::Matrix<double, 1, 1, 0, 1, 1>; _Scalar = double; int _Rows = -1; int _Cols = -1; int _Options = 0; int _MaxRows = -1; int _MaxCols = -1]’ at /home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/Matrix.h:332:31,
inlined from ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const long unsigned int; _U2 = Eigen::Matrix<double, 1, 1, 0, 1, 1>; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = long unsigned int; _T2 = Eigen::Matrix<double, -1, -1>]’ at /usr/include/c++/13/bits/stl_pair.h:586:22,
inlined from ‘void gtsam::JacobianFactor::fillTerms(const TERMS&, const gtsam::Vector&, const gtsam::SharedDiagonal&) [with TERMS = std::map<long unsigned int, Eigen::Matrix<double, 1, 1, 0, 1, 1> >]’ at /home/amino/Tools/gtsam/gtsam/linear/JacobianFactor-inl.h:80:37:
/home/amino/Tools/gtsam/gtsam/3rdparty/Eigen/Eigen/src/Core/util/Memory.h:182:20: note: source object of size 8 allocated by ‘malloc’
182 | result = malloc(size);
| ~~~~~~^~~~~~
Description
execution of
make checkon an UBUNTU 24.04 LTS fail on the develop branch. The error message is:Steps to reproduce
Expected behavior
N/A
Environment
Ubuntu 24.04 LTS. cmake configuration is as follows:
Additional information
During the build, there are two other warnings reported as well. I list only one here: