cartographer-project / cartographer_turtlebot

Provides TurtleBot integration for Cartographer.
Apache License 2.0
151 stars 96 forks source link

Rosinstall file missing ceres-solver dependency #44

Closed alexbaucom17 closed 7 years ago

alexbaucom17 commented 7 years ago

Following the instructions exactly on the Read the Docs site causes rosdep install to fail as it can't resolve ceres-solver. I found that using wstool to merge the rosinstall file from cartograper_ros resolved this as that file does include the ceres-solver dependency. I think either updating the instructions to include this step or updating the rosinstall would fix this issue for future users.

renweizhukov commented 7 years ago

I am hitting the same issue. rosdep install can't resolve ceres-solver.

$ rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
cartographer: Cannot locate rosdep definition for [ceres-solver]

Also catkin build fails.

CMake Error at CMakeLists.txt:30 (find_package):
  By not providing "FindCeres.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Ceres", but
  CMake did not find one.

  Could not find a package configuration file provided by "Ceres" with any of
  the following names:

    CeresConfig.cmake
    ceres-config.cmake

  Add the installation prefix of "Ceres" to CMAKE_PREFIX_PATH or set
  "Ceres_DIR" to a directory containing one of the above files.  If "Ceres"
  provides a separate development package or SDK, be sure it has been
  installed.

-- Configuring incomplete, errors occurred!
See also "/home/renwei/workspace/ros/slam/google_cartographer_turtlebot/build_isolated/cartographer/install/CMakeFiles/CMakeOutput.log".
See also "/home/renwei/workspace/ros/slam/google_cartographer_turtlebot/build_isolated/cartographer/install/CMakeFiles/CMakeError.log".
<== Failed to process package 'cartographer': 
  Command '['cmake', '/home/renwei/workspace/ros/slam/google_cartographer_turtlebot/src/cartographer', '-DCMAKE_INSTALL_PREFIX=/home/renwei/workspace/ros/slam/google_cartographer_turtlebot/install_isolated', '-G', 'Ninja']' returned non-zero exit status 1
alexbaucom17 commented 7 years ago

You should be able to fix your problem with

wstool merge -t src https://raw.githubusercontent.com/googlecartographer/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

and then re-doing the rosdep install and continuing from there

renweizhukov commented 7 years ago

Thank you for the workaround. Yeah, it works. But I am thinking why we can't add the dependency ceres-solver in the .rosinstall file of cartographer_turtlebot. I have created a pull request #45.