cartographer: If there is any one can help me with this error

I compiled cartographer-master $cmake CMakeLists.txt when it comes out error infomation like: `- Build type: Release CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message): Imported targets not available for Boost version 106600 Call Stack (most recent call first): /usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES) /usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:31 (find_package)

– Boost version: 1.66.0 – Found the following Boost libraries: – iostreams – Found installed version of Eigen: /usr/lib/cmake/eigen3 – Found required Ceres dependency: Eigen version 3.2.92 in /usr/include/eigen3 – Found required Ceres dependency: glog 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, SchurSpecializations, OpenMP, Multithreading]. Call Stack (most recent call first): /usr/local/lib/cmake/Ceres/CeresConfig.cmake:390 (ceres_report_not_found) CMakeLists.txt:32 (find_package)

CMake Error at CMakeLists.txt:32 (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.

– Configuring incomplete, errors occurred! See also “/home/tby/cartographer-master/CMakeFiles/CMakeOutput.log”. See also “/home/tby/cartographer-master/CMakeFiles/CMakeError.log”. ` and I searched for this ,I found the Suitesparse problem is fixed under Debian , but not under Ubuntu. how could I solve this problem?

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Comments: 18 (6 by maintainers)

Most upvoted comments

Hi,

have you tried sudo apt-get install libsuitesparse-dev and then rebuild Ceres? It should work on Ubuntu as well.

If you are using the version of Ceres in Ubuntu that you installed with apt-get, then remove it with sudo apt-get remove and build it yourself instead.

Here is the full list of commands:

sudo apt-get update
sudo apt-get install -y \
    cmake \
    g++ \
    git \
    google-mock \
    libboost-all-dev \
    libcairo2-dev \
    libeigen3-dev \
    libgflags-dev \
    libgoogle-glog-dev \
    liblua5.2-dev \
    libsuitesparse-dev \
    ninja-build \
    python-sphinx \
    stow

and then

git clone https://ceres-solver.googlesource.com/ceres-solver
cd ceres-solver
mkdir build
cd build
cmake .. -G Ninja -DCXX11=ON  -DCMAKE_INSTALL_PREFIX=/usr/local/stow/ceres
ninja -j15
sudo ninja install
cd /usr/local/stow/ 
sudo stow ceres

Now you can rebuild Cartographer with cmake .. -G Ninja && ninja -j15. Do not forget to clean-up you build directories before that.

You can actually build Cartographer without SuiteSparse. It will be slower though. To do that, just open CMakeLists.txt and replace the line find_package(Ceres REQUIRED COMPONENTS SuiteSparse) to find_package(Ceres REQUIRED).