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

Is this a follow-up of #q288531?

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

No, that is not necessary.

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.

Is this a follow-up of #q288531?

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

No, that is not necessary.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.

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.