cartographer
cartographer copied to clipboard
error when install cartographer on ubuntu 20.04 and Ros noetic absl::make_unique<ceres::AutoDiffLocalParameterization<
root@ubuntu:/home/gaosm/Downloads/cartographer/cartographer/build# ninja
[10/385] cd /home/gaosm/Downloads/cartographer/cartographer/build &...ome/gaosm/Downloads/cartographer/cartographer/build/AllFiles.cmake"
Files /home/gaosm/Downloads/cartographer/cartographer/build/AllFiles.cmake and - differ
[111/385] Building CXX object CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o
FAILED: CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o
/usr/bin/c++ -DGFLAGS_IS_A_DLL=0 -I/home/gaosm/Downloads/cartographer/cartographer/build -isystem /usr/local/include/eigen3 -isystem /home/gaosm/Downloads/cartographer/cartographer -isystem /usr/include/lua5.2 -O3 -DNDEBUG -pthread -fPIC -Wall -Wpedantic -Werror=format-security -Werror=missing-braces -Werror=reorder -Werror=return-type -Werror=switch -Werror=uninitialized -O3 -DNDEBUG -std=gnu++1z -MD -MT CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o -MF CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o.d -o CMakeFiles/cartographer.dir/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc.o -c /home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc: In member function ‘void cartographer::mapping::scan_matching::CeresScanMatcher3D::Match(const Vector3d&, const Rigid3d&, const std::vectorcartographer::mapping::scan_matching::PointCloudAndHybridGridsPointers&, cartographer::transform::Rigid3d*, ceres::Solver::Summary*) const’:
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:102:42: error: ‘AutoDiffLocalParameterization’ is not a member of ‘ceres’
absl::make_unique<ceres::AutoDiffLocalParameterization<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:102:42: note: suggested alternative: ‘LocalParameterization’
absl::make_unique<ceres::AutoDiffLocalParameterization<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LocalParameterization
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:102:23: error: parse error in template argument list
absl::make_unique<ceres::AutoDiffLocalParameterization<
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
YawOnlyQuaternionPlus, 4, 1>>())
~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:101:58: error: expected primary-expression before ‘(’ token
? std::unique_ptrceres::LocalParameterization(
^
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:103:51: error: expected primary-expression before ‘)’ token
YawOnlyQuaternionPlus, 4, 1>>())
^
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:105:42: error: ‘QuaternionParameterization’ is not a member of ‘ceres’
absl::make_uniqueceres::QuaternionParameterization()),
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:105:42: note: suggested alternative: ‘QuaternionToRotation’
absl::make_uniqueceres::QuaternionParameterization()),
^~~~~~~~~~~~~~~~~~~~~~~~~~
QuaternionToRotation
/home/gaosm/Downloads/cartographer/cartographer/cartographer/mapping/internal/3d/scan_matching/ceres_scan_matcher_3d.cc:105:70: error: no matching function for call to ‘make_unique<
I'm having the same problem as you, I'm using Ubuntu 20.04 and ros noetic. Is there any solution for this problem ?
solution is just not Install ceres-solver lastest because have same bug, I can solve problem using ceres-solver version 1.14
I have same issue ...
I solve this problem
I had this problem because I build and make install ceres-solver manually just
cd {ceres-solver-build}
sudo make uninstall
and I reinstall dependancy
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
if you have error like below
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: cartographer: [libabsl-dev] defined as "not available" for OS version [focal]
follow https://github.com/cartographer-project/cartographer_ros/issues/1726