Ask Your Question

Can't rosdep install uvc_camera, missing rosdep definition for sensor_msgs

asked 2019-11-01 01:16:40 -0500

RichardL gravatar image


Completely new to ROS. I am using indigo on Ubuntu 14.04. I am following a recipe of steps that a colleague has followed before.

Have done a new install of ROS according to the install instructions on the ROS website: I used

sudo apt-get install ros-indigo-desktop-full

Later steps in the recipe involved using catkin to install other components. The catkin workspace is in ~/catkin/src. After setting up the workspace, and installing a few other components with catkin, I ran the following

cd ~/catkin/src
git clone
rosdep install camera_umd

Which worked fine. But then when I tried to execute

rosdep install uvc_camera

the following error message was produced:

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
uvc_camera: Cannot locate rosdep definition for [sensor_msgs]

I checked the output of rosdep db and sure enough, sensor_msgs is not in there, so rosdep doesn't know about it. To me that suggests that either (a) sensor_msgs is installed, but for some reason, rosdep doesn't know this, or (b) sensor_msgs isn't installed, in which case I can hardly expect that rosdep would know about it. But I don't know how to find out which of these is the case, let alone why it happened.

Some people have mentioned rospack find sensor_msgs to find installed packages. This does return the location of a folder for sensor_msgs. But all it has inside it are package.xml and cmake files and the like; for rospack to find this folder doesn't seem to prove that the software has actually been installed? or am I wrong? I don't understand this well enough.

Some posts out there suggest running the "magic" command

rosdep install --from-paths src --ignore-src -r --rosdistro=indigo

to install all dependencies required by packages in the catkin/src folder. This simply returned the message

#All required rosdeps installed successfully

And when running the rosdep install command, I got the same result as before.

To anticipate other common questions, yes I did run source /opt/ros/indigo/setup.bash and also did the same for the catkin setup.bash, and i added them to my .bashrc for good measure. And yes I also ran sudo rosdep init followed by rosdep update.

Any suggestions on how I can get around this issue would be much appreciated!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-11-02 09:04:14 -0500

gvdhoorn gravatar image

I am using indigo on Ubuntu 14.04.

You appear to be using an End Of Life version of ROS on an End Of Life version of Ubuntu.

Support for Ubuntu Trusty has been disabled in rosdep, which is a likely cause of the problem you are running into.

rosdep downloads files from a central repository, but does not download them for EOL distributions of ROS.

Notice how rosdep prints this for Indigo:

Skip end-of-life distro "indigo"

If you want to continue using these EOL versions (and you could, but just realise that no development targets these versions of the software any more, and Canonical does not release any updates for Trusty either), you'd have to explicitly ask rosdep to --include-eol-distros when running rosdep update.

edit flag offensive delete link more


Simple as that; works fine now. Thanks so much! And yes I'll take note of the caution at the end of your reply....

RichardL gravatar image RichardL  ( 2019-11-10 17:30:43 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-11-01 01:16:40 -0500

Seen: 83 times

Last updated: Nov 02 '19