ROS安装错误(在Ubuntu 16.04中安装ROS Kinetic)

9

已按照 http://wiki.ros.org/kinetic/Installat.. 中列出的步骤进行操作。(尝试在Ubuntu 16.04中安装ROS kinetic) 当输入以下命令时出现错误:

$sudo apt-get install ros-kinetic-desktop-full

以下软件包无法安装。这可能意味着您请求了一个不可能的情况,或者如果您使用的是不稳定的发行版,则某些所需软件包尚未被创建或已从“Incoming”中移出。以下信息可能有助于解决问题: 以下软件包存在未满足的依赖关系:ros-kinetic-desktop-full:依赖于ros-kinetic-desktop,但不会安装;依赖于ros-kinetic-perception,但不会安装;依赖于ros-kinetic-simulators,但不会安装;依赖于ros-kinetic-urdf-tutorial,但不会安装。E: 无法纠正问题,您拥有损坏的软件包。

遇到了几乎相同的问题。在开启新线程之前,我在这里添加我的错误代码:以下软件包存在未满足的依赖关系:ros-kinetic-desktop-full: 依赖于 ros-kinetic-desktop,但它将不会被安装;依赖于 ros-kinetic-simulators,但它将不会被安装。 - NumbThumb
https://answers.ros.org/question/243920/how-to-install-ros-kinetic-ubuntu-1604/ - Ugnius Malūkas
同样的问题,下面的方法都没有实际作用。 - Schütze
8个回答

7

我之前安装了Gazebo,因此遇到了相同的问题。如果您也是这样做的话,那么可能会出现此错误。

您可以简单地卸载Gazebo及其依赖项,然后尝试安装完整版本的ROS。 Gazebo通常包含在ROS的完整版本中。 如果您的版本中未包含它,则安装ROS后,可以安装Gazebo。

卸载Gazebo:

sudo apt-get remove gazebo9

"

需要将"gazebo9"替换为您的Gazebo版本。

然后删除其依赖项。

"
sudo apt-get autoremove

这个命令将删除所有不必要的依赖项。然后,请使用官方文档安装ROS。希望这能帮到你。

注意:ROS完整版本附带Gazebo。


4
通常情况下,ROS不包含Gazebo仿真器,它们是两个不同的开发项目。一些元包或软件包有Gazebo作为依赖项,例如ros-kinetic-desktop-full,但是例如ros-kinetic-desktop并没有包含它。 - Tik0

2

在将Ubuntu 14.04升级到16.04后,我遇到了同样的问题。将以下软件源添加到/etc/apt/sources.list中对我有用。因此,请执行sudo gedit /etc/apt/sources.list,复制并粘贴以下行。按照此链接的1.2至1.7步骤进行操作。

deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

2

sudo aptitude install ros-kinetic-desktop-full

aptitude会显示未满足的依赖项解决方案。只需不断按“n”键,直到找到一个安装ros(而不是擦除您需要的内容)的方案。

aptitude与apt-get——软件应该运行的方式不同。


1
我通过首先安装ros-kinetic-desktop,然后再安装ros-kinetic-desktop-full解决了这个问题。
最近我已经多次重新安装我的系统(Ubuntu/Lubuntu 16.04)以及ROS。据我所记,仅安装ros-kinetic-desktop从未引起任何问题,但是安装ros-kinetic-desktop-full始终会在调用catkin_make时抛出“无catkin_pkg错误”(可以通过pip install catkin_pkg解决)。
这次我在LXLE(基于Lubuntu 16.04)中安装了ros-kinetic-desktop-full并遇到了“未满足的依赖关系错误”。我按照开头提到的方法解决了它。(但“无catkin_pkg错误”仍需要pip解决方案。)

0
当我在Ubuntu 18.04上安装ROS Melodic Morenia时,我遇到了同样的错误。之后,我进行了递归式尝试来安装不匹配的依赖项,我发现已安装的libopenjp2-7包版本与所需版本不匹配,它是2.3.0-1-Xenial,但需要的是2.3.0-1。 我卸载并重新安装它,ROS成功安装。我的Ubuntu 18.04从16.10升级而来,也许这就是问题的原因。

0

我在升级到Ubuntu 18.04后遇到了这个问题。我的问题最终被证明是python-catkin-pkg损坏了。

通常的解决方法是...尝试以深度优先搜索的方式安装其中一个依赖项及其依赖项。最终,您将获得一个可以安装但其依赖包无法安装的软件包。成功安装的那个就是您的损坏软件包。删除它并尝试重新安装ROS。如果有更多的损坏软件包,请重复此过程。

也许值得一试的是卸载ROS和任何与之相关的软件包,然后运行sudo apt-get autoremove,然后重新安装所有ROS相关的东西。不过我没有测试过。


这不是一个聪明的答案。仅在第一层就有4个依赖项,每个又分支成3-4个,再次循环。这是一个无尽的挣扎,会占用你的时间。不要尝试这样做。 - Schütze
@Schütze 你不必遵循每个路径。使用深度优先搜索,它应该能够快速找到损坏的软件包。也许我表达不太准确,我会进行编辑。 - David Warnke

0

正确配置您的Ubuntu软件源并继续尝试。

https://help.ubuntu.com/community/Repositories/Ubuntu

配置您的Ubuntu存储库以允许“restricted”,“universe”和“multiverse”。您可以按照Ubuntu指南上的说明进行操作。

如果没有,您可以查看早期的Python版本和依赖项。


0

如果您的Linux有更新,您应该进行更新。然后按照顺序遵循说明。安装后可能需要打开新的终端窗口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接