Ask Your Question

Revision history [back]

ros_control is only a metapackage, it doesn't provide any files.

WARNING: package "labrob_control" should not depend on metapackage "ros_control" but on its packages instead

As the warning indicates, labrob_control should not expect to find_package(..) the ros_control package, as that is not a package that installs any CMake / catkin related files.

Depending on what you are using in labrob_control, you'll need to *_depend and find_package(..) (through find_package(catkin COMPONENTS ..)) on one of the other packages of ros_control (ie: controller_interface, controller_manager, controller_manager_msgs, controller_manager_tests, hardware_interface, joint_limits_interface, realtime_tools or transmission_interface).

ros_control is only a metapackage, it doesn't provide any files.files. It only exists to conveniently install multiple packages by asking apt-get (or any package manager) for just a single one.

WARNING: package "labrob_control" should not depend on metapackage "ros_control" but on its packages instead

As the warning indicates, labrob_control should not expect to find_package(..) the ros_control package, as that is not a package that installs any CMake / catkin related files.

Depending on what you are using in labrob_control, you'll need to *_depend and find_package(..) (through find_package(catkin COMPONENTS ..)) on one of the other packages of ros_control (ie: controller_interface, controller_manager, controller_manager_msgs, controller_manager_tests, hardware_interface, joint_limits_interface, realtime_tools or transmission_interface).

ros_control is only a metapackage, it doesn't provide any files. It only exists to conveniently install multiple packages by asking apt-get (or any package manager) for just a single one.

WARNING: package "labrob_control" should not depend on metapackage "ros_control" but on its packages instead

As the warning indicates, labrob_control should not expect to find_package(..) the ros_control package, as that is not a package that installs any CMake / catkin related files.

Depending on what you are using in labrob_control, you'll need to *_depend and find_package(..) (through find_package(catkin COMPONENTS ..)) on one of the other packages of ros_control (ie: controller_interface, controller_manager, controller_manager_msgs, controller_manager_tests, hardware_interface, joint_limits_interface, realtime_tools or transmission_interface).


Edit:

I was looking this tutorial and if you scroll down to Create a ros_controls package you can see that this tutorial advises you to build your package like this:

catkin_create_pkg MYROBOT_control ros_control ros_controllers

hm, yes. That is unfortunate. It would be nice if you could report that at osrf/gazebo_tutorials.

I would also like to ask you why the /opt/ros/kinetic/share/ros_control package has no CMakeLists.txt and only a xml file ? (according to the link you sent me "Every metapackage must have a CMakeLists.txt...").

The source package should, yes. But the installed package doesn't. Also: CMakeLists.txt are never installed, as they are build scripts, not installable artefacts. The only CMake related artefacts that get generated/installed are the *Config.cmake files that you do found in ../shared/$pkg_name.

ros_control is only a metapackage, it doesn't provide any files. It only exists to conveniently install multiple packages by asking apt-get (or any package manager) for just a single one.

WARNING: package "labrob_control" should not depend on metapackage "ros_control" but on its packages instead

As the warning indicates, labrob_control should not expect to find_package(..) the ros_control package, as that is not a package that installs any CMake / catkin related files.

Depending on what you are using in labrob_control, you'll need to *_depend and find_package(..) (through find_package(catkin COMPONENTS ..)) on one of the other packages of ros_control (ie: controller_interface, controller_manager, controller_manager_msgs, controller_manager_tests, hardware_interface, joint_limits_interface, realtime_tools or transmission_interface).


Edit:

I was looking this tutorial and if you scroll down to Create a ros_controls package you can see that this tutorial advises you to build your package like this:

catkin_create_pkg MYROBOT_control ros_control ros_controllers

hm, yes. That is unfortunate. It would be nice if you could report that at osrf/gazebo_tutorials.

I would also like to ask you why the /opt/ros/kinetic/share/ros_control package has no CMakeLists.txt and only a xml file ? (according to the link you sent me "Every metapackage must have a CMakeLists.txt...").

The source package should, yes. But the installed package doesn't. Also: CMakeLists.txt are never installed, as they are build scripts, not installable artefacts. The only CMake related artefacts that get generated/installed are the *Config.cmake files that you do found find in ../shared/$pkg_name.