rtabmap_ros icon indicating copy to clipboard operation
rtabmap_ros copied to clipboard

Build from source fails [ROS2 jazzy, Ubuntu 24.04]

Open kevinhelvig opened this issue 7 months ago • 1 comments

Hello ! I have an issue during the colcon build from source. The strange point is that install from binaries (apt install) works perfectly ... I tried both GTSAM reinstallation from apt and from github sources, without success (yet) Specs : Ubuntu 24.04, ROS2 Jazzy

Thanks for help !

colcon build --symlink-install \
  --cmake-args -DCMAKE_BUILD_TYPE=Release \
               -DGTSAM_DIR=/usr/local/lib/cmake/GTSAM
Starting >>> rtabmap 
Starting >>> rtabmap_msgs
Starting >>> rtabmap_python
Finished <<< rtabmap_python [1.89s]                                                      
--- stderr: rtabmap_msgs                                                                  
CMake Warning:
  Manually-specified variables were not used by the project:

    GTSAM_DIR


---
Finished <<< rtabmap_msgs [5.93s]
[Processing: rtabmap]                              
[Processing: rtabmap]                                      
[Processing: rtabmap]                                        
--- stderr: rtabmap                                          
CMake Warning (dev) at CMakeLists.txt:88 (EXEC_PROGRAM):
  Policy CMP0153 is not set: The exec_program command should not be called.
  Run "cmake --help-policy CMP0153" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  Use execute_process() instead.
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at /usr/lib/x86_64-linux-gnu/cmake/pcl/Modules/FindFLANN.cmake:45 (find_package):
  Policy CMP0144 is not set: find_package uses upper-case <PACKAGENAME>_ROOT
  variables.  Run "cmake --help-policy CMP0144" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  CMake variable FLANN_ROOT is set to:

    /usr

  For compatibility, find_package is ignoring the variable, but code in a
  .cmake module might still use it.
Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:261 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:306 (find_flann)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:570 (find_external_library)
  CMakeLists.txt:240 (FIND_PACKAGE)
This warning is for project developers.  Use -Wno-dev to suppress it.

In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:31,
                 from /usr/local/include/eigen3/Eigen/Core:176,
                 from /usr/local/include/eigen3/Eigen/StdVector:14,
                 from /usr/include/pcl-1.14/pcl/point_cloud.h:45,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/../include/rtabmap/core/util3d_registration.h:33,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/util3d_registration.cpp:28:
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:204:40,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; PacketType = __vector(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:658:114,
    inlined from ‘static void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false> >, Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:416:75,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘typename Eigen::internal::umeyama_transform_matrix_type<MatrixType, OtherMatrixType>::type Eigen::umeyama(const MatrixBase<Derived>&, const MatrixBase<U>&, bool) [with Derived = Matrix<float, 3, -1>; OtherDerived = Matrix<float, 3, -1>]’ at /usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h:157:23:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const VectorType [1]’ {aka ‘const Eigen::Matrix<float, 3, 1> [1]’} [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
In file included from /usr/local/include/eigen3/Eigen/Geometry:50,
                 from /usr/include/pcl-1.14/pcl/point_cloud.h:46:
/usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h: In function ‘typename Eigen::internal::umeyama_transform_matrix_type<MatrixType, OtherMatrixType>::type Eigen::umeyama(const MatrixBase<Derived>&, const MatrixBase<U>&, bool) [with Derived = Matrix<float, 3, -1>; OtherDerived = Matrix<float, 3, -1>]’:
/usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h:119:20: note: at offset [0, 8] into object ‘dst_mean’ of size 12
  119 |   const VectorType dst_mean = dst.rowwise().sum() * one_over_n;
      |                    ^~~~~~~~
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:204:40,
    inlined from ‘void Eigen::internal::generic_dense_assignment_kernel<DstEvaluatorTypeT, SrcEvaluatorTypeT, Functor, Version>::assignPacket(Eigen::Index) [with int StoreMode = 16; int LoadMode = 0; PacketType = __vector(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:658:114,
    inlined from ‘static void Eigen::internal::dense_assignment_loop<Kernel, 3, 0>::run(Kernel&) [with Kernel = Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false> >, Eigen::internal::evaluator<Eigen::Matrix<float, 3, 1> >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:416:75,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; SrcXprType = Eigen::Matrix<float, 3, 1>; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>; Src = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::Matrix<float, 3, 1>; Derived = Eigen::Block<Eigen::Block<Eigen::Matrix<float, 4, 4>, 4, 1, true>, -1, 1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘typename Eigen::internal::umeyama_transform_matrix_type<MatrixType, OtherMatrixType>::type Eigen::umeyama(const MatrixBase<Derived>&, const MatrixBase<U>&, bool) [with Derived = Matrix<float, 3, -1>; OtherDerived = Matrix<float, 3, -1>]’ at /usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h:151:23:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const VectorType [1]’ {aka ‘const Eigen::Matrix<float, 3, 1> [1]’} [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
/usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h: In function ‘typename Eigen::internal::umeyama_transform_matrix_type<MatrixType, OtherMatrixType>::type Eigen::umeyama(const MatrixBase<Derived>&, const MatrixBase<U>&, bool) [with Derived = Matrix<float, 3, -1>; OtherDerived = Matrix<float, 3, -1>]’:
/usr/local/include/eigen3/Eigen/src/Geometry/Umeyama.h:119:20: note: at offset [0, 8] into object ‘dst_mean’ of size 12
  119 |   const VectorType dst_mean = dst.rowwise().sum() * one_over_n;
      |                    ^~~~~~~~
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:197:42,
    inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; BinaryOp = Eigen::internal::scalar_difference_op<float, float>; Lhs = const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>; Rhs = const Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:727:77,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:652:116,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:666: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<float, 4, 4>, -1, -1, false> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:551:86,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘void pcl::registration::TransformationEstimationSVD<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointXYZINormal; PointTarget = pcl::PointXYZINormal; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp:216:43:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const Eigen::Matrix<float, 3, 1> [1]’ [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
In file included from /usr/include/pcl-1.14/pcl/registration/transformation_estimation_svd.h:157,
                 from /usr/include/pcl-1.14/pcl/registration/icp.h:48,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/util3d_registration.cpp:34:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp: In member function ‘void pcl::registration::TransformationEstimationSVD<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointXYZINormal; PointTarget = pcl::PointXYZINormal; Scalar = float]’:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp:215:37: note: at offset [0, 8] into object ‘Rc’ of size 12
  215 |   const Eigen::Matrix<Scalar, 3, 1> Rc(R * centroid_src.head(3));
      |                                     ^~
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:197:42,
    inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; BinaryOp = Eigen::internal::scalar_difference_op<float, float>; Lhs = const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>; Rhs = const Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:727:77,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:652:116,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:666: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<float, 4, 4>, -1, -1, false> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:551:86,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘void pcl::registration::TransformationEstimationSVD<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointNormal; PointTarget = pcl::PointNormal; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp:216:43:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const Eigen::Matrix<float, 3, 1> [1]’ [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp: In member function ‘void pcl::registration::TransformationEstimationSVD<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointNormal; PointTarget = pcl::PointNormal; Scalar = float]’:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_svd.hpp:215:37: note: at offset [0, 8] into object ‘Rc’ of size 12
  215 |   const Eigen::Matrix<Scalar, 3, 1> Rc(R * centroid_src.head(3));
      |                                     ^~
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:197:42,
    inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; BinaryOp = Eigen::internal::scalar_difference_op<float, float>; Lhs = const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>; Rhs = const Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:727:77,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:652:116,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:666: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<float, 4, 4>, -1, -1, false> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:551:86,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointXYZ; PointTarget = pcl::PointXYZ; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:181:52,
    inlined from ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::estimateRigidTransformation(pcl::ConstCloudIterator<PointT>&, pcl::ConstCloudIterator<PointTarget>&, Matrix4&) const [with PointSource = pcl::PointXYZ; PointTarget = pcl::PointXYZ; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:148:35:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const Eigen::Matrix<float, 3, 1> [1]’ [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
In file included from /usr/include/pcl-1.14/pcl/registration/transformation_estimation_2D.h:150,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/util3d_registration.cpp:35:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp: In function ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::estimateRigidTransformation(pcl::ConstCloudIterator<PointT>&, pcl::ConstCloudIterator<PointTarget>&, Matrix4&) const [with PointSource = pcl::PointXYZ; PointTarget = pcl::PointXYZ; Scalar = float]’:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:180:37: note: at offset [0, 8] into object ‘Rc’ of size 12
  180 |   const Eigen::Matrix<Scalar, 3, 1> Rc(R * centroid_src.head(3).matrix());
      |                                     ^~
In function ‘__m128 _mm_loadu_ps(const float*)’,
    inlined from ‘Packet Eigen::internal::ploadu(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float]’ at /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h:329:22,
    inlined from ‘Packet Eigen::internal::ploadt(const typename unpacket_traits<Packet>::type*) [with Packet = __vector(4) float; int Alignment = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/GenericPacketMath.h:465:26,
    inlined from ‘PacketType Eigen::internal::evaluator<Eigen::PlainObjectBase<Derived> >::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; Derived = Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:197:42,
    inlined from ‘PacketType Eigen::internal::binary_evaluator<Eigen::CwiseBinaryOp<BinaryOp, Lhs, Rhs>, Eigen::internal::IndexBased, Eigen::internal::IndexBased>::packet(Eigen::Index, Eigen::Index) const [with int LoadMode = 0; PacketType = __vector(4) float; BinaryOp = Eigen::internal::scalar_difference_op<float, float>; Lhs = const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>; Rhs = const Eigen::Matrix<float, 3, 1>]’ at /usr/local/include/eigen3/Eigen/src/Core/CoreEvaluators.h:727:77,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:652:116,
    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(4) float; DstEvaluatorTypeT = Eigen::internal::evaluator<Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false> >; SrcEvaluatorTypeT = Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >; Functor = Eigen::internal::assign_op<float, float>; int Version = 0]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:666: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<float, 4, 4>, -1, -1, false> >, Eigen::internal::evaluator<Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> > >, Eigen::internal::assign_op<float, float>, 0>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:551:86,
    inlined from ‘void Eigen::internal::call_dense_assignment_loop(DstXprType&, const SrcXprType&, const Functor&) [with DstXprType = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:741: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<float, 4, 4>, -1, -1, false>; SrcXprType = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Functor = Eigen::internal::assign_op<float, float>; Weak = void]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:879:31,
    inlined from ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:836: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<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Func = assign_op<float, float>]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27,
    inlined from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>; Src = Eigen::CwiseBinaryOp<scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >]’ at /usr/local/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18,
    inlined from ‘Derived& Eigen::MatrixBase<Derived>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseBinaryOp<Eigen::internal::scalar_difference_op<float, float>, const Eigen::Block<const Eigen::Matrix<float, 4, 1>, -1, 1, false>, const Eigen::Matrix<float, 3, 1> >; Derived = Eigen::Block<Eigen::Matrix<float, 4, 4>, -1, -1, false>]’ at /usr/local/include/eigen3/Eigen/src/Core/Assign.h:66:28,
    inlined from ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::getTransformationFromCorrelation(const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, const Eigen::Matrix<LhsScalar, -1, -1, 0>&, const Eigen::Matrix<Scalar, 4, 1>&, Matrix4&) const [with PointSource = pcl::PointXYZI; PointTarget = pcl::PointXYZI; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:181:52,
    inlined from ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::estimateRigidTransformation(pcl::ConstCloudIterator<PointT>&, pcl::ConstCloudIterator<PointTarget>&, Matrix4&) const [with PointSource = pcl::PointXYZI; PointTarget = pcl::PointXYZI; Scalar = float]’ at /usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:148:35:
/usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:940:23: warning: array subscript ‘__m128_u[0]’ is partly outside array bounds of ‘const Eigen::Matrix<float, 3, 1> [1]’ [-Warray-bounds=]
  940 |   return *(__m128_u *)__P;
      |                       ^~~
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp: In function ‘void pcl::registration::TransformationEstimation2D<PointSource, PointTarget, Scalar>::estimateRigidTransformation(pcl::ConstCloudIterator<PointT>&, pcl::ConstCloudIterator<PointTarget>&, Matrix4&) const [with PointSource = pcl::PointXYZI; PointTarget = pcl::PointXYZI; Scalar = float]’:
/usr/include/pcl-1.14/pcl/registration/impl/transformation_estimation_2D.hpp:180:37: note: at offset [0, 8] into object ‘Rc’ of size 12
  180 |   const Eigen::Matrix<Scalar, 3, 1> Rc(R * centroid_src.head(3).matrix());
      |                                     ^~
In file included from /opt/ros/jazzy/include/gtsam/base/Matrix.h:28,
                 from /opt/ros/jazzy/include/gtsam/base/Manifold.h:22,
                 from /opt/ros/jazzy/include/gtsam/geometry/BearingRange.h:21,
                 from /opt/ros/jazzy/include/gtsam/geometry/Pose2.h:23,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:39:
/opt/ros/jazzy/include/gtsam/base/Vector.h:76:30: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
   76 |     GTSAM_EIGEN_VERSION_MAJOR==EIGEN_MAJOR_VERSION,
      |                              ^
/opt/ros/jazzy/include/gtsam/base/Vector.h:76:30: note: the comparison reduces to ‘(4 == 3)’
In file included from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:14,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:17,
                 from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/OptimizerGTSAM.cpp:60:
/d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h:117:25: warning: ‘gtsam::Value& rtabmap::DerivedValue<DERIVED>::operator=(const gtsam::Value&) [with DERIVED = vertigo::SwitchVariableLinear]’ was hidden [-Woverloaded-virtual=]
  117 |   virtual gtsam::Value& operator=(const gtsam::Value& rhs) {
      |                         ^~~~~~~~
/d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableLinear.h:22:10: note:   by ‘vertigo::SwitchVariableLinear::operator=’
   22 |   struct SwitchVariableLinear : public rtabmap::DerivedValue<SwitchVariableLinear> {
      |          ^~~~~~~~~~~~~~~~~~~~
/d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/DerivedValue.h:117:25: warning: ‘gtsam::Value& rtabmap::DerivedValue<DERIVED>::operator=(const gtsam::Value&) [with DERIVED = vertigo::SwitchVariableSigmoid]’ was hidden [-Woverloaded-virtual=]
  117 |   virtual gtsam::Value& operator=(const gtsam::Value& rhs) {
      |                         ^~~~~~~~
In file included from /d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/betweenFactorSwitchable.h:18:
/d/khelvig/ros2_ws/src/rtabmap/corelib/src/optimizer/vertigo/gtsam/switchVariableSigmoid.h:22:10: note:   by ‘vertigo::SwitchVariableSigmoid::operator=’
   22 |   struct SwitchVariableSigmoid : public rtabmap::DerivedValue<SwitchVariableSigmoid> {
      |          ^~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [corelib/src/CMakeFiles/rtabmap_core.dir/build.make:972: corelib/src/CMakeFiles/rtabmap_core.dir/optimizer/OptimizerGTSAM.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:872: corelib/src/CMakeFiles/rtabmap_core.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
---
Failed   <<< rtabmap [2min 4s, exited with code 2]

Summary: 2 packages finished [2min 4s]
  1 package failed: rtabmap
  2 packages had stderr output: rtabmap rtabmap_msgs
  11 packages not processed

kevinhelvig avatar May 16 '25 08:05 kevinhelvig

It seems you have a local version of Eigen that may be different than the one that PCL binaries are expecting.

 from /usr/local/include/eigen3/Eigen/Core:176,
 from /usr/local/include/eigen3/Eigen/StdVector:14,
 from /usr/include/pcl-1.14/pcl/point_cloud.h:45,

matlabbe avatar May 18 '25 01:05 matlabbe