ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is a Cmake error as a result of a call like:

find_package(catkin REQUIRED)

in some CMakelists.txt

If you run rosinstall --catkin ... rosinstall should generate a CMakelists.txt containing something like this in your workspace:

if (IS_DIRECTORY ${CMAKE_SOURCE_DIR}/catkin)
  message(STATUS "+++ catkin")
  set(CATKIN_BUILD_PROJECTS "ALL" CACHE STRING
  "List of projects to build, or ALL for all.  Use to completely exclude certain projects from cmake traversal.")
  add_subdirectory(catkin)
else()
  find_package(catkin)
endif()

So in your case, the if statement was false, so add_subdirectory(catkin) was not executed, which caused 'find_package(catkin REQUIRED)', which is used in some other CMakelists.txt, to fail.

The variable ${CMAKE_SOURCE_DIR} is set by cmake and should point to your workspace. To debug, add a line like this to the CMakelists.txt in your workspace:

message(STATUS ${CMAKE_SOURCE_DIR})

The result should look like:

/build $ cmake .. -DCMAKE_INSTALL_PREFIX=...
-- workspace: .../fuerte_underlay
-- +++ catkin

So check that in your workspace, there is a folder called 'catkin'. Your .rosinstall file should contain the line:

- git: {local-name: catkin, uri: 'git://github.com/wg-debs/catkin-release.git', version: debian/ros-fuerte-catkin_0.4.4_lucid}

and this should lead to the rosinstall command to download catkin. If the error persists, please copy more of the log you get.