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

The message you quotes is just a CMake warning:

CMake Warning (dev) at CMakeLists.txt:103 (add_dependencies):
  Policy CMP0046 is not set: Error on non-existent dependency in
  add_dependencies.  Run "cmake --help-policy CMP0046" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  The dependency target "multisense_lib" of target "raw_snapshot" does not
  exist.
This warning is for project developers.  Use -Wno-dev to suppress it.

This warning is due to using a newer CMake version and you can ignore it in this case. It will go away once the newer version of genmsg is available (https://github.com/ros/genmsg/pull/65).

The actual error why your build fails is the following:

/tmp/catkin_workspace/src/multisense_ros/multisense_ros/src/raw_snapshot.cpp:42:45: fatal error: multisense_lib/MultiSenseTypes.hh: No such file or directory
compilation terminated.

The header can not be found because the include directories are likely incomplete. The package multisense_ros correctly depends on multisense_lib and uses the include directories (https://bitbucket.org/crl/multisense_ros/src/7cb8c91dbbd1f9a9b082d6f4cdc6cc8214880f43/multisense_ros/CMakeLists.txt?at=default&fileviewer=file-view-default#CMakeLists.txt-10,60). But looking at the package multisense_lib package it seems to not export any include directories: https://bitbucket.org/crl/multisense_ros/src/7cb8c91dbbd1f9a9b082d6f4cdc6cc8214880f43/multisense_lib/CMakeLists.txt?at=default&fileviewer=file-view-default#CMakeLists.txt-27,28 I would expect the problem to be fixed if the include directory is exported correctly:

catkin_package(
  INCLUDE_DIRS include
  LIBRARIES MultiSense
  CATKIN_DEPENDS cv_bridge)

The referenced job has only four builds so there is not enough history for me to tell when it was actually starting to fail. In order to reproduce this locally you might need to use catkin_make_isolated. I assume you use catkin_make which will make all packages share the same install location (rather then a per package isolated one). So any other package exporting an include directory which is being used by multisense_ros will mask the problem and let you find the header.

The message you quotes quoted is just a CMake warning:

CMake Warning (dev) at CMakeLists.txt:103 (add_dependencies):
  Policy CMP0046 is not set: Error on non-existent dependency in
  add_dependencies.  Run "cmake --help-policy CMP0046" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  The dependency target "multisense_lib" of target "raw_snapshot" does not
  exist.
This warning is for project developers.  Use -Wno-dev to suppress it.

This warning is due to using a newer CMake version and you can ignore it in this case. It will go away once the newer version of genmsg genmsg is available (https://github.com/ros/genmsg/pull/65).

The actual error why your build fails is the following:

/tmp/catkin_workspace/src/multisense_ros/multisense_ros/src/raw_snapshot.cpp:42:45: fatal error: multisense_lib/MultiSenseTypes.hh: No such file or directory
compilation terminated.

The header can not be found because the include directories are likely incomplete. The package multisense_ros correctly depends on multisense_lib and uses the include directories (https://bitbucket.org/crl/multisense_ros/src/7cb8c91dbbd1f9a9b082d6f4cdc6cc8214880f43/multisense_ros/CMakeLists.txt?at=default&fileviewer=file-view-default#CMakeLists.txt-10,60). But looking at the package multisense_lib package it seems to not export any include directories: https://bitbucket.org/crl/multisense_ros/src/7cb8c91dbbd1f9a9b082d6f4cdc6cc8214880f43/multisense_lib/CMakeLists.txt?at=default&fileviewer=file-view-default#CMakeLists.txt-27,28 I would expect the problem to be fixed if the include directory is exported correctly:

catkin_package(
  INCLUDE_DIRS include
  LIBRARIES MultiSense
  CATKIN_DEPENDS cv_bridge)

The referenced job has only four builds so there is not enough history for me to tell when it was actually starting to fail. In order to reproduce this locally you might need to use catkin_make_isolated. I assume you use catkin_make which will make all packages share the same install location (rather then a per package isolated one). So any other package exporting an include directory which is being used by multisense_ros will mask the problem and let you find the header.