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

Package installation, rosdep cant find installation

asked 2018-04-15 04:15:19 -0500

ich4913 gravatar image

updated 2018-04-16 01:28:20 -0500

gvdhoorn gravatar image


i want to install multiple packages for using a robot with ROS and have to build them out of source.

I created a worspace and cloned all repositories into the src folder. Then i ran catkin_make in the catkin_ws folder. I sources this directory with source devel/setup.bash. With roslaunch i can start the executables. But one of this launch-files has problem with some dependencies. I ran rosdep check on all the new packages and got this ERROR for every one of the new packages:

 Cannot locate rosdep definition for [...]
    rosdep key : ...
    OS name    : ubuntu
    OS version : xenial
    Data: <no data>

What did i do wrong while the installation. Do I have to put every new package to a new workspace?

Edit: I installed innok_heros_description, innok_heros_control and innok_heros_gazebo, then i found out, that i need twist_mux and installed it like the other packages. I cloned the repository in my workspaces src and catkin_make'd it. When i then ask for rosdep check innok_heros_control i get:

rosdep check innok_heros_control System dependencies have not been satisified:
  apt ros-kinetic-twist-mux
  apt ros-kinetic-joy
  apt ros-kinetic-teleop-twist-keyboard
  apt ros-kinetic-teleop-twist-joy
ERROR[innok_heros_control]: Cannot locate rosdep definition for [innok_heros_gazebo] rosdep key : innok

Thanks for your help. Max

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-04-15 05:22:32 -0500

gvdhoorn gravatar image

updated 2018-04-16 01:34:11 -0500

Is this a follow-up of #q288531?

Do I have to put every new package to a new workspace?

No, that is not necessary. What makes you think that?

If rosdep can't find a definition, it basically means that the rosdep database does not contain a rule that maps a key to a (deb) package on your OS (Ubuntu Xenial in this case).

You could add the -r flag to your rosdep install .. command line, which makes rosdep ignore that dependency, but if it's actually needed, this will not solve your problem.

If rosdep can't find it, you'll have to figure out how to manually install that dependency. If you do, it might be nice to contribute those rules so future users can use rosdep to install that dependency.

Edit: as I wrote in #q288531, I would recommend you follow the procedure described in #q252478. In short, I'd recommend you run rosdep check as follows (where $CATKIN_WS is the path to your Catkin workspace):

rosdep check --from-paths $CATKIN_WS/src --ignore-src

That should tell you which dependencies are missing. As you already have innok_heros_gazebo in your src space, adding --ignore-src should make rosdep realise that it's already present.

Next, run rosdep install to have it install all dependencies needed:

rosdep install --from-paths $CATKIN_WS/src --ignore-src -y

Adding -y will avoid you having to acknowledge apts confirmation prompts each time rosdep asks it to install a package.

If the author(s) of the Innok packages have used rosdep keys that don't actually exist, you could add -r to make rosdep continue in case it runs into a problem. Note that this may mean that things still won't entirely work (as you're still missing dependencies), but rosdep will then at least continue installing all dependencies it does know about / can resolve.

edit flag offensive delete link more


Note: if you tell us which dependency this is, we could perhaps see what is going on.

gvdhoorn gravatar image gvdhoorn  ( 2018-04-15 05:23:11 -0500 )edit

Question Tools

1 follower


Asked: 2018-04-15 04:15:19 -0500

Seen: 2,178 times

Last updated: Apr 16 '18