编译nav2的源码时候,在编译smac_planner的时候出现找不到ceres里面的SuiteSparse,具体提示如下:
Starting >>> smac_planner
--- stderr: smac_planner
CMake Error at /usr/local/lib/cmake/Ceres/CeresConfig.cmake:88 (message):
Failed to find Ceres - Missing requested Ceres components: [SuiteSparse]
(components requested: [SuiteSparse]). Detected Ceres version: 1.14.0
installed in: /usr/local with components: [EigenSparse,
SparseLinearAlgebraLibrary, LAPACK, SchurSpecializations, OpenMP,
Multithreading].
Call Stack (most recent call first):
/usr/local/lib/cmake/Ceres/CeresConfig.cmake:390 (ceres_report_not_found)
CMakeLists.txt:22 (find_package)
CMake Error at CMakeLists.txt:22 (find_package):
Found package configuration file:
/usr/local/lib/cmake/Ceres/CeresConfig.cmake
but it set Ceres_FOUND to FALSE so package "Ceres" is considered to be NOT
FOUND.
---
Failed <<< smac_planner [7.03s, exited with code 1]
找了一圈没有合适的答案,后来自己尝试把ceres重新安装一遍就可以了。解决步骤是:
git clone https://github.com/ceres-solver/ceres-solver.git
cd ceres-solver
git check out 1.14.0 && mkdir build && cd build && cmake .. && make -j16
sudo make install