borglab / gtsam

GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices.
http://gtsam.org
Other
2.55k stars 754 forks source link

error: no matching function for call to ‘gtsam::PreintegratedImuMeasurements #1498

Closed federista closed 3 weeks ago

federista commented 1 year ago

error: no matching function for call to ‘gtsam::PreintegratedImuMeasurements

Steps to reproduce

  1. clone the repository into your workspace git clone https://gitlab.kitware.com/keu-computervision/slam.git src --recursive

  2. mkdir build && cd build

  3. cmake ../src -GNinja -DCMAKE_BUILD_TYPE=Release

  4. cmake --build . -j

<!-- cmake --build . -j [ 0%] Built target geometry_msgs_generate_messages_cpp [ 0%] Built target std_msgs_generate_messages_py [ 0%] Built target geometry_msgs_generate_messages_py [ 1%] Building CXX object slam/ros_wrapping/lidar_conversions/CMakeFiles/velodyne_conversion_node.dir/src/VelodyneToLidarNode.cxx.o [ 3%] Building CXX object slam/ros_wrapping/lidar_conversions/CMakeFiles/robosense_conversion_node.dir/src/RobosenseToLidarNode.cxx.o [ 4%] Building CXX object slam/ros_wrapping/lidar_conversions/CMakeFiles/ouster_conversion_node.dir/src/OusterToLidarNode.cxx.o [ 4%] Built target geometry_msgs_generate_messages_lisp [ 4%] Built target std_msgs_generate_messages_eus [ 4%] Built target geometry_msgs_generate_messages_eus [ 4%] Built target std_msgs_generate_messages_lisp [ 4%] Built target std_msgs_generate_messages_cpp [ 4%] Built target std_msgs_generate_messages_nodejs [ 6%] Building CXX object slam/ros_wrapping/gps_conversions/CMakeFiles/gps_to_utm.dir/src/GpsToUtmNode.cxx.o [ 7%] Building CXX object slam/ros_wrapping/gps_conversions/CMakeFiles/odom_to_gps.dir/src/OdomToGpsNode.cxx.o [ 9%] Building CXX object slam/ros_wrapping/gps_conversions/CMakeFiles/navsatfix_to_gpsfix.dir/src/NavSatFixToGpsFixNode.cxx.o [ 11%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/KeypointsMatcher.cxx.o [ 12%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/LocalOptimizer.cxx.o [ 12%] Built target geometry_msgs_generate_messages_nodejs [ 14%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/RollingGrid.cxx.o [ 15%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/ExternalSensorManagers.cxx.o [ 17%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/ConfidenceEstimators.cxx.o [ 17%] Built target _apriltag_ros_generate_messages_check_deps_AprilTagDetectionArray [ 17%] Built target _apriltag_ros_generate_messages_check_deps_AprilTagDetection [ 17%] Built target _lidar_slam_generate_messages_check_deps_save_pc [ 19%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/Slam.cxx.o [ 19%] Built target _lidar_slam_generate_messages_check_deps_Confidence [ 19%] Built target _lidar_slam_generate_messages_check_deps_SlamCommand [ 20%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/VoxelGrid.cxx.o [ 22%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/Utilities.cxx.o [ 23%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/SpinningSensorKeypointExtractor.cxx.o [ 25%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/InterpolationModels.cxx.o [ 26%] Building CXX object slam/slam_lib/CMakeFiles/LidarSlam.dir/src/PoseGraphOptimizer.cxx.o [ 28%] Generating C++ code from apriltag_ros/AprilTagDetection.msg [ 31%] Generating Python from MSG apriltag_ros/AprilTagDetection [ 31%] Generating Python from MSG apriltag_ros/AprilTagDetectionArray [ 33%] Generating C++ code from apriltag_ros/AprilTagDetectionArray.msg [ 34%] Generating EusLisp code from apriltag_ros/AprilTagDetection.msg [ 36%] Generating EusLisp manifest code for apriltag_ros [ 38%] Generating EusLisp code from apriltag_ros/AprilTagDetectionArray.msg [ 39%] Generating Lisp code from apriltag_ros/AprilTagDetection.msg [ 41%] Generating Lisp code from apriltag_ros/AprilTagDetectionArray.msg [ 42%] Generating Python from MSG lidar_slam/Confidence [ 44%] Generating Javascript code from apriltag_ros/AprilTagDetection.msg [ 46%] Generating Python from MSG lidar_slam/SlamCommand [ 47%] Generating C++ code from lidar_slam/Confidence.msg [ 49%] Generating C++ code from lidar_slam/save_pc.srv [ 55%] Generating C++ code from lidar_slam/SlamCommand.msg [ 52%] Generating Javascript code from apriltag_ros/AprilTagDetectionArray.msg [ 52%] Generating Python code from SRV lidar_slam/save_pc [ 53%] Generating EusLisp manifest code for lidar_slam [ 57%] Generating Lisp code from lidar_slam/Confidence.msg [ 60%] Generating EusLisp code from lidar_slam/SlamCommand.msg [ 58%] Generating EusLisp code from lidar_slam/Confidence.msg [ 61%] Generating Lisp code from lidar_slam/save_pc.srv [ 63%] Generating EusLisp code from lidar_slam/save_pc.srv [ 65%] Generating Lisp code from lidar_slam/SlamCommand.msg [ 66%] Generating Javascript code from lidar_slam/SlamCommand.msg [ 68%] Generating Javascript code from lidar_slam/Confidence.msg [ 69%] Generating Javascript code from lidar_slam/save_pc.srv [ 69%] Built target apriltag_ros_generate_messages_lisp [ 69%] Built target apriltag_ros_generate_messages_nodejs [ 69%] Built target lidar_slam_generate_messages_lisp [ 69%] Built target lidar_slam_generate_messages_nodejs [ 69%] Built target apriltag_ros_generate_messages_cpp [ 71%] Generating Python msg __init__.py for apriltag_ros [ 73%] Generating Python msg __init__.py for lidar_slam [ 74%] Generating Python srv __init__.py for lidar_slam [ 74%] Built target lidar_slam_generate_messages_cpp [ 74%] Built target apriltag_ros_generate_messages_eus [ 74%] Built target apriltag_ros_generate_messages_py [ 74%] Built target lidar_slam_generate_messages_py [ 74%] Built target apriltag_ros_generate_messages [ 74%] Built target lidar_slam_generate_messages_eus [ 74%] Built target lidar_slam_generate_messages [ 76%] Linking CXX executable ../../../devel/lib/gps_conversions/navsatfix_to_gpsfix [ 76%] Built target navsatfix_to_gpsfix In file included from /usr/include/boost/preprocessor/tuple/elem.hpp:23, from /usr/include/boost/preprocessor/arithmetic/add.hpp:21, from /usr/include/boost/mpl/aux_/preprocessor/def_params_tail.hpp:66, from /usr/include/boost/mpl/aux_/na_spec.hpp:28, from /usr/include/boost/mpl/next_prior.hpp:18, from /usr/include/boost/mpl/next.hpp:17, from /usr/include/boost/mpl/list/aux_/push_front.hpp:18, from /usr/include/boost/mpl/list/list0.hpp:19, from /usr/include/boost/mpl/list/list10.hpp:18, from /usr/include/boost/mpl/list/list20.hpp:18, from /usr/include/boost/mpl/list.hpp:36, from /usr/include/boost/math/policies/policy.hpp:9, from /usr/include/boost/math/policies/error_handling.hpp:21, from /usr/include/boost/math/special_functions/round.hpp:14, from /opt/ros/noetic/include/ros/time.h:58, from /opt/ros/noetic/include/ros/ros.h:38, from /home/sentech/velodyne/src/slam/ros_wrapping/lidar_conversions/src/VelodyneToLidarNode.h:21, from /home/sentech/velodyne/src/slam/ros_wrapping/lidar_conversions/src/VelodyneToLidarNode.cxx:19: /home/sentech/velodyne/src/slam/ros_wrapping/lidar_conversions/./external_include/velodyne_point.h:66:36: warning: ‘using uint16_t = uint16_t’ is deprecated: use std::uint16_t instead of pcl::uint16_t [-Wdeprecated-declarations] 66 | (uint16_t, ring, ring) | ^~~~~~~~ In file included from /usr/include/pcl-1.10/pcl/PCLHeader.h:10, from /usr/include/pcl-1.10/pcl/point_cloud.h:47, from /opt/ros/noetic/include/pcl_ros/point_cloud.h:5, from /home/sentech/velodyne/src/slam/ros_wrapping/lidar_conversions/src/VelodyneToLidarNode.h:22, from /home/sentech/velodyne/src/slam/ros_wrapping/lidar_conversions/src/VelodyneToLidarNode.cxx:19: /usr/include/pcl-1.10/pcl/pcl_macros.h:94:9: note: declared here 94 | using uint16_t [[deprecated("use std::uint16_t instead of pcl::uint16_t")]] = std::uint16_t; | ^~~~~~~~ [ 77%] Linking CXX executable ../../../devel/lib/gps_conversions/gps_to_utm [ 77%] Built target gps_to_utm [ 79%] Linking CXX executable ../../../devel/lib/gps_conversions/odom_to_gps In file included from /usr/local/include/gtsam/base/Matrix.h:28, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/GenericValue.h:22, from /usr/local/include/gtsam/nonlinear/Values.h:29, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:25, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/local/include/gtsam/base/Vector.h:75:52: error: static assertion failed: Error: GTSAM was built against a different version of Eigen 75 | GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION && | ^ [ 79%] Built target odom_to_gps In file included from /usr/local/include/gtsam/base/Matrix.h:28, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/GenericValue.h:22, from /usr/local/include/gtsam/nonlinear/Values.h:29, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:25, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/PoseGraphOptimizer.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:20: /usr/local/include/gtsam/base/Vector.h:75:52: error: static assertion failed: Error: GTSAM was built against a different version of Eigen 75 | GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION && | ^ In file included from /usr/local/include/gtsam/base/Matrix.h:28, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/GenericValue.h:22, from /usr/local/include/gtsam/nonlinear/Values.h:29, from /usr/local/include/gtsam/nonlinear/NonlinearFactor.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:25, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:84, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/local/include/gtsam/base/Vector.h:75:52: error: static assertion failed: Error: GTSAM was built against a different version of Eigen 75 | GTSAM_EIGEN_VERSION_WORLD==EIGEN_WORLD_VERSION && | ^ [ 80%] Linking CXX executable ../../../devel/lib/lidar_conversions/robosense_conversion_node [ 82%] Linking CXX executable ../../../devel/lib/lidar_conversions/velodyne_conversion_node [ 84%] Linking CXX executable ../../../devel/lib/lidar_conversions/ouster_conversion_node [ 84%] Built target robosense_conversion_node [ 84%] Built target velodyne_conversion_node [ 84%] Built target ouster_conversion_node In file included from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h: In member function ‘void LidarSlam::ExternalSensors::ImuManager::Reset(bool)’: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: error: ‘make_shared’ is not a member of ‘boost’ 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^~~~~~~~~~~ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: note: suggested alternatives: In file included from /usr/include/c++/9/memory:81, from /usr/local/include/ceres/autodiff_cost_function.h:128, from /usr/local/include/ceres/ceres.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/CeresCostFunctions.h:23, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/include/c++/9/bits/shared_ptr.h:714:5: note: ‘std::make_shared’ 714 | make_shared(_Args&&... __args) | ^~~~~~~~~~~ In file included from /usr/local/include/pcl-1.13/pcl/PCLHeader.h:3, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:47, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:22, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/local/include/pcl-1.13/pcl/memory.h:122:66: note: ‘pcl::make_shared’ 122 | std::enable_if_t<!has_custom_allocator<T>::value, shared_ptr<T>> make_shared(Args&&... args) | ^~~~~~~~~~~ In file included from /usr/local/include/gtsam/geometry/SOn.h:23, from /usr/local/include/gtsam/geometry/SO3.h:23, from /usr/local/include/gtsam/geometry/Quaternion.h:22, from /usr/local/include/gtsam/geometry/Rot3.h:27, from /usr/local/include/gtsam/geometry/Pose3.h:24, from /usr/local/include/gtsam/navigation/NavState.h:21, from /usr/local/include/gtsam/navigation/ManifoldPreintegration.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:26, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/local/include/gtsam/base/make_shared.h:62:84: note: ‘gtsam::make_shared’ 62 | gtsam::enable_if_t<!needs_eigen_aligned_allocator<T>::value, std::shared_ptr<T>> make_shared(Args &&... args) { | ^~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:102: error: expected primary-expression before ‘>’ token 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:84, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h: In member function ‘void LidarSlam::ExternalSensors::ImuManager::Reset(bool)’: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: error: ‘make_shared’ is not a member of ‘boost’ 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^~~~~~~~~~~ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: note: suggested alternatives: In file included from /usr/include/c++/9/memory:81, from /usr/local/include/pcl-1.13/pcl/memory.h:50, from /usr/local/include/pcl-1.13/pcl/PCLHeader.h:3, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:47, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:76, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/include/c++/9/bits/shared_ptr.h:714:5: note: ‘std::make_shared’ 714 | make_shared(_Args&&... __args) | ^~~~~~~~~~~ In file included from /usr/local/include/pcl-1.13/pcl/PCLHeader.h:3, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:47, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:76, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/local/include/pcl-1.13/pcl/memory.h:122:66: note: ‘pcl::make_shared’ 122 | std::enable_if_t<!has_custom_allocator<T>::value, shared_ptr<T>> make_shared(Args&&... args) | ^~~~~~~~~~~ In file included from /usr/local/include/gtsam/geometry/SOn.h:23, from /usr/local/include/gtsam/geometry/SO3.h:23, from /usr/local/include/gtsam/geometry/Quaternion.h:22, from /usr/local/include/gtsam/geometry/Rot3.h:27, from /usr/local/include/gtsam/geometry/Pose3.h:24, from /usr/local/include/gtsam/navigation/NavState.h:21, from /usr/local/include/gtsam/navigation/ManifoldPreintegration.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:26, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:84, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/local/include/gtsam/base/make_shared.h:62:84: note: ‘gtsam::make_shared’ 62 | gtsam::enable_if_t<!needs_eigen_aligned_allocator<T>::value, std::shared_ptr<T>> make_shared(Args &&... args) { | ^~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:84, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:102: error: expected primary-expression before ‘>’ token 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/PoseGraphOptimizer.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:20: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h: In member function ‘void LidarSlam::ExternalSensors::ImuManager::Reset(bool)’: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: error: ‘make_shared’ is not a member of ‘boost’ 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^~~~~~~~~~~ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:63: note: suggested alternatives: In file included from /usr/include/c++/9/memory:81, from /usr/local/include/pcl-1.13/pcl/memory.h:50, from /usr/local/include/pcl-1.13/pcl/PCLHeader.h:3, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:47, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:19: /usr/include/c++/9/bits/shared_ptr.h:714:5: note: ‘std::make_shared’ 714 | make_shared(_Args&&... __args) | ^~~~~~~~~~~ In file included from /usr/local/include/pcl-1.13/pcl/PCLHeader.h:3, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:47, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:19: /usr/local/include/pcl-1.13/pcl/memory.h:122:66: note: ‘pcl::make_shared’ 122 | std::enable_if_t<!has_custom_allocator<T>::value, shared_ptr<T>> make_shared(Args&&... args) | ^~~~~~~~~~~ In file included from /usr/local/include/gtsam/geometry/SOn.h:23, from /usr/local/include/gtsam/geometry/SO3.h:23, from /usr/local/include/gtsam/geometry/Quaternion.h:22, from /usr/local/include/gtsam/geometry/Rot3.h:27, from /usr/local/include/gtsam/geometry/Pose3.h:24, from /usr/local/include/gtsam/navigation/NavState.h:21, from /usr/local/include/gtsam/navigation/ManifoldPreintegration.h:24, from /usr/local/include/gtsam/navigation/ImuFactor.h:26, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/PoseGraphOptimizer.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:20: /usr/local/include/gtsam/base/make_shared.h:62:84: note: ‘gtsam::make_shared’ 62 | gtsam::enable_if_t<!needs_eigen_aligned_allocator<T>::value, std::shared_ptr<T>> make_shared(Args &&... args) { | ^~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/PoseGraphOptimizer.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:20: /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:730:102: error: expected primary-expression before ‘>’ token 730 | boost::shared_ptr<gtsam::PreintegrationParams> p = boost::make_shared<gtsam::PreintegrationParams>(-this->Gravity); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/memory:63, from /usr/local/include/ceres/autodiff_cost_function.h:128, from /usr/local/include/ceres/ceres.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/CeresCostFunctions.h:23, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/include/c++/9/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’: /usr/include/c++/9/bits/alloc_traits.h:483:4: required from ‘static void std::allocator_traits<std::allocator<_Tp1> >::construct(std::allocator_traits<std::allocator<_Tp1> >::allocator_type&, _Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; std::allocator_traits<std::allocator<_Tp1> >::allocator_type = std::allocator<gtsam::PreintegratedImuMeasurements>]’ /usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’ /usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:741:94: required from here /usr/include/c++/9/ext/new_allocator.h:146:4: error: no matching function for call to ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&)’ 146 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/src/ExternalSensorManagers.cxx:19: /usr/local/include/gtsam/navigation/ImuFactor.h:105:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const PreintegrationType&, const Matrix9&)’ 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:105:58: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const PreintegrationType&’ {aka ‘const gtsam::ManifoldPreintegration&’} 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const std::shared_ptr<gtsam::PreintegrationParams>&, const gtsam::imuBias::ConstantBias&)’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:77: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const std::shared_ptr<gtsam::PreintegrationParams>&’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements()’ 85 | PreintegratedImuMeasurements() { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate expects 0 arguments, 2 provided /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const gtsam::PreintegratedImuMeasurements&)’ 72 | class GTSAM_EXPORT PreintegratedImuMeasurements: public PreintegrationType { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate expects 1 argument, 2 provided In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/string:41, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/eigen3/Eigen/Core:96, from /usr/include/eigen3/Eigen/StdVector:14, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:45, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:19: /usr/include/c++/9/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’: /usr/include/c++/9/bits/alloc_traits.h:483:4: required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<gtsam::PreintegratedImuMeasurements>]’ /usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’ /usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:741:94: required from here /usr/include/c++/9/ext/new_allocator.h:146:4: error: no matching function for call to ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&)’ 146 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/PoseGraphOptimizer.h:21, from /home/sentech/velodyne/src/slam/slam_lib/src/PoseGraphOptimizer.cxx:20: /usr/local/include/gtsam/navigation/ImuFactor.h:105:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const PreintegrationType&, const Matrix9&)’ 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:105:58: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const PreintegrationType&’ {aka ‘const gtsam::ManifoldPreintegration&’} 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const std::shared_ptr<gtsam::PreintegrationParams>&, const gtsam::imuBias::ConstantBias&)’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:77: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const std::shared_ptr<gtsam::PreintegrationParams>&’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements()’ 85 | PreintegratedImuMeasurements() { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate expects 0 arguments, 2 provided /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const gtsam::PreintegratedImuMeasurements&)’ 72 | class GTSAM_EXPORT PreintegratedImuMeasurements: public PreintegrationType { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate expects 1 argument, 2 provided In file included from /usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h:33, from /usr/include/c++/9/bits/allocator.h:46, from /usr/include/c++/9/string:41, from /usr/include/c++/9/bits/locale_classes.h:40, from /usr/include/c++/9/bits/ios_base.h:41, from /usr/include/c++/9/ios:42, from /usr/include/c++/9/istream:38, from /usr/include/c++/9/sstream:38, from /usr/include/c++/9/complex:45, from /usr/include/eigen3/Eigen/Core:96, from /usr/include/eigen3/Eigen/StdVector:14, from /usr/local/include/pcl-1.13/pcl/point_cloud.h:45, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Utilities.h:21, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:76, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/include/c++/9/ext/new_allocator.h: In instantiation of ‘void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’: /usr/include/c++/9/bits/alloc_traits.h:483:4: required from ‘static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<gtsam::PreintegratedImuMeasurements>]’ /usr/include/c++/9/bits/shared_ptr_base.h:548:39: required from ‘std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:679:16: required from ‘std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr_base.h:1344:71: required from ‘std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]’ /usr/include/c++/9/bits/shared_ptr.h:359:59: required from ‘std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}; _Tp = gtsam::PreintegratedImuMeasurements]’ /usr/include/c++/9/bits/shared_ptr.h:701:14: required from ‘std::shared_ptr<_Tp> std::allocate_shared(const _Alloc&, _Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Alloc = std::allocator<gtsam::PreintegratedImuMeasurements>; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /usr/include/c++/9/bits/shared_ptr.h:717:39: required from ‘std::shared_ptr<_Tp> std::make_shared(_Args&& ...) [with _Tp = gtsam::PreintegratedImuMeasurements; _Args = {boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&}]’ /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:741:94: required from here /usr/include/c++/9/ext/new_allocator.h:146:4: error: no matching function for call to ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(boost::shared_ptr<gtsam::PreintegrationParams>&, gtsam::imuBias::ConstantBias&)’ 146 | { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/ExternalSensorManagers.h:37, from /home/sentech/velodyne/src/slam/slam_lib/include/LidarSlam/Slam.h:84, from /home/sentech/velodyne/src/slam/slam_lib/src/Slam.cxx:78: /usr/local/include/gtsam/navigation/ImuFactor.h:105:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const PreintegrationType&, const Matrix9&)’ 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:105:58: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const PreintegrationType&’ {aka ‘const gtsam::ManifoldPreintegration&’} 105 | PreintegratedImuMeasurements(const PreintegrationType& base, const Matrix9& preintMeasCov) | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const std::shared_ptr<gtsam::PreintegrationParams>&, const gtsam::imuBias::ConstantBias&)’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:94:77: note: no known conversion for argument 1 from ‘boost::shared_ptr<gtsam::PreintegrationParams>’ to ‘const std::shared_ptr<gtsam::PreintegrationParams>&’ 94 | PreintegratedImuMeasurements(const std::shared_ptr<PreintegrationParams>& p, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements()’ 85 | PreintegratedImuMeasurements() { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:85:3: note: candidate expects 0 arguments, 2 provided /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate: ‘gtsam::PreintegratedImuMeasurements::PreintegratedImuMeasurements(const gtsam::PreintegratedImuMeasurements&)’ 72 | class GTSAM_EXPORT PreintegratedImuMeasurements: public PreintegrationType { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/include/gtsam/navigation/ImuFactor.h:72:20: note: candidate expects 1 argument, 2 provided make[2]: *** [slam/slam_lib/CMakeFiles/LidarSlam.dir/build.make:132: slam/slam_lib/CMakeFiles/LidarSlam.dir/src/ExternalSensorManagers.cxx.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [slam/slam_lib/CMakeFiles/LidarSlam.dir/build.make:146: slam/slam_lib/CMakeFiles/LidarSlam.dir/src/Slam.cxx.o] Error 1 make[2]: *** [slam/slam_lib/CMakeFiles/LidarSlam.dir/build.make:216: slam/slam_lib/CMakeFiles/LidarSlam.dir/src/PoseGraphOptimizer.cxx.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:3690: slam/slam_lib/CMakeFiles/LidarSlam.dir/all] Error 2 make: *** [Makefile:146: all] Error 2 I just want it to build successfully and then i can do the ros-wrapping on this repository

Environment

Operating system: Ubuntu 20.04 (Ros noetic) Python version: Python 3.8.10

Sometimes i encounter the error

<-- GTSAM was built against a different version of Eigen--> I have followed this solution but i couldnt get over it. When i try to manually add the cmake flag -DGTSAM_USE_SYSTEM_EIGEN=ON the cmake gives me the following output /CMake Warning: Manually-specified variables were not used by the project:

GTSAM_USE_SYSTEM_EIGEN/

I am just looking for a solution to get over this. Your guidance will be highly appreciated.

ProfFan commented 1 year ago

This is an issue with the downstream library you are using. They are probably not using the latest GTSAM version.

LimHyungTae commented 3 weeks ago

Yep, I also experienced this error, and the error was solved once I downgraded the version of gtsam (from develop to 4.2a8)

ProfFan commented 3 weeks ago

Interesting, @LimHyungTae Please try clone a fresh copy of GTSAM, run cmake -DGTSAM_USE_SYSTEM_EIGEN=ON in build and paste the results?

LimHyungTae commented 3 weeks ago

Yep, there is an error my error message:

/home/shapelim/kimera_vio_ws/src/Kimera-VIO/src/initial/CrossCorrTimeAligner.cpp: In member function ‘size_t VIO::CrossCorrTimeAligner::addNewImuDataFrameRate(const std::vector<long int>&, const ImuStampS&, const ImuAccGyrS&)’:
/home/shapelim/kimera_vio_ws/src/Kimera-VIO/src/initial/CrossCorrTimeAligner.cpp:106:79: error: no matching function for call to ‘gtsam::PreintegratedRotation::integrateMeasurement(const Type, const ConstantReturnType, double&)’
  106 |         imu_acc_gyrs.block<3, 1>(3, i), Eigen::Vector3d::Zero(), imu_period_s_);
      |                                                                               ^
In file included from /home/shapelim/kimera_vio_ws/src/Kimera-VIO/include/kimera-vio/initial/CrossCorrTimeAligner.h:16,
                 from /home/shapelim/kimera_vio_ws/src/Kimera-VIO/src/initial/CrossCorrTimeAligner.cpp:15:
/home/shapelim/kimera_vio_ws/devel/include/gtsam/navigation/PreintegratedRotation.h:221:25: note: candidate: ‘void gtsam::PreintegratedRotation::integrateMeasurement(const Vector3&, const Vector3&, double, gtsam::OptionalJacobian<3, 3>, gtsam::OptionalJacobian<3, 3>)’
  221 |   void GTSAM_DEPRECATED integrateMeasurement(
      |                         ^~~~~~~~~~~~~~~~~~~~
/home/shapelim/kimera_vio_ws/devel/include/gtsam/navigation/PreintegratedRotation.h:221:25: note:   candidate expects 5 arguments, 3 provided
/home/shapelim/kimera_vio_ws/src/Kimera-VIO/src/initial/CrossCorrTimeAligner.cpp:116:16: error: no matching function for call to ‘gtsam::PreintegratedRotation::integrateMeasurement(const Type, const ConstantReturnType, const double&)’
  116 |         last_dt);
      |                ^
In file included from /home/shapelim/kimera_vio_ws/src/Kimera-VIO/include/kimera-vio/initial/CrossCorrTimeAligner.h:16,
                 from /home/shapelim/kimera_vio_ws/src/Kimera-VIO/src/initial/CrossCorrTimeAligner.cpp:15:
/home/shapelim/kimera_vio_ws/devel/include/gtsam/navigation/PreintegratedRotation.h:221:25: note: candidate: ‘void gtsam::PreintegratedRotation::integrateMeasurement(const Vector3&, const Vector3&, double, gtsam::OptionalJacobian<3, 3>, gtsam::OptionalJacobian<3, 3>)’
  221 |   void GTSAM_DEPRECATED integrateMeasurement(
      |                         ^~~~~~~~~~~~~~~~~~~~
/home/shapelim/kimera_vio_ws/devel/include/gtsam/navigation/PreintegratedRotation.h:221:25: note:   candidate expects 5 arguments, 3 provided
make[2]: *** [CMakeFiles/kimera_vio.dir/build.make:790: CMakeFiles/kimera_vio.dir/src/initial/CrossCorrTimeAligner.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:799: CMakeFiles/kimera_vio.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
ProfFan commented 3 weeks ago

You have a different problem, chimera_vio depends on 4.2 not develop.