Ubuntu 16.04 ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies(解决办法+详细图文)
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies:
robot_sim_demo: Cannot locate rosdep definition for [gazebo-ros-control]
navigation_sim_demo: Cannot locate rosdep definition for [dwa-local-planner ]
slam_sim_demo: Cannot locate rosdep definition for [slam-karto]
一、具体问题
1.程序运行出现上述代码报错!
2.github下载安装包,克隆到src文件下,再运行,依然报错!!!
截图如下:
二、运行环境:
- Ubuntu 16.04
三、解决办法:
备注:
问题1:三个步骤。
问题2:六个步骤。
(如果出现github下载安装包,克隆到src文件下,再运行,依然报错!!! 可以直接看问题2解决办法)
问题1:程序运行出现上述代码报错!
解决办法:
- 安装所需依赖
$ cd ~/tutorial_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
- 在开始编译之前,需要确保Gazebo在7.0版本以上
$ gazebo -v #确认7.0及以上
- 如果你的Gazebo版本低于7.0,则需要进行升级
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo7
(好像很多人都利用这个方法成功了,所以大家一定要先试这个方法!!!当然如果还是报错的话,同道中人们就请接着往下看。)
问题2:github下载安装包,克隆到src文件下,再运行,依然报错!!!
解决办法:
- 认真再看看之前报错的信息,我们可以发现报错的原因是缺少了我用红色方框标记的内容。因此,当我们把这些缺少的都安装成功,那最终也就不会报错啦~
- 安装缺失内容。
$ sudo apt-get install ros-kinetic-gazebo-ros-control && sudo apt-get install ros-kinetic-dwa-local-planner && sudo apt-get install ros-kinetic-slam-karto
-
按Y进行确认。
-
以上三个包,安装成功~
-
(但是…没有完!)有可能你将面临cannot locate rosdep…的错误数还是3个!!!不过,不要担心~这时我们刚刚用红色框出来的文件名已经发生变化。
这里可能是最大只显示3个错误,然后只要重复以下代码,将其中文件名(加粗部分)替换成新的错误,直到所有的都安装完成就可以啦。
$ sudo apt-get install ros-kinetic-gazebo-ros-control && sudo apt-get install ros-kinetic-dwa-local-planner && sudo apt-get install ros-kinetic-slam-karto -
最后出现#All required rosdeps installed successfully
lsgi@lsgi-XPS-8700:~/catkin_ws$,就表示安装成功啦。截图如下:
撒花~~今天又是进步一天呢