未满足的依赖关系

未满足的依赖关系

在更新 Ubuntu 14.04 时,我遇到了以下错误消息:

The following packages have unmet dependencies:
 collada-dom-dev : Depends: collada-dom2.4-sp-dev but it is not installed
 collada-dom2.4-sp : Depends: collada-dom2.4-sp-dev but it is not installed
E: Unmet dependencies. Try using -f.

任何帮助将不胜感激。

编辑

安装缺少的包失败后,使用:

sudo apt-get -f install

我收到此消息:

Unpacking collada-dom2.4-sp-dev (2.4.4.1-ubuntu1~trusty1) ... 
dpkg: error processing archive /var/cache/apt/archives/collada-dom2.4-sp-dev_2.4.4.1-ubuntu1~trusty1_i386.deb (--unpack):
 trying to overwrite '/usr/lib/cmake/collada_dom-2.4/collada_dom-config.cmake', which is also in package collada-dom2.4-dp-dev 2.4.4.0-ubuntu1~trusty1 
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) 
Errors were encountered while processing:
 /var/cache/apt/archives/collada-dom2.4-sp-dev_2.4.4.1-ubuntu1~trusty1_i386.deb 
E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

删除 sources.list.d 似乎是一个不太理想的解决方案,实际上可能无法解决根本问题。特别是如果其中有一些你确实想保留的来源。我认为这是更好的答案:dpkg 错误:“尝试覆盖文件,该文件也在……”

对于这个特殊问题我使用了:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/collada-dom2.4-sp-dev_2.4.4.1-ubuntu1~trusty1_amd64.deb

注意:您需要将 .deb 文件替换为系统抱怨的文件。仍然不知道今天更新时到底是什么导致了这个问题……?

答案2

这似乎与 ROS 有关,ROS 是 Collada 的主要用户,即机器人操作系统。安装 ROS-Indigo 和 Ros-Jade(不同版本)可能会出现问题。执行建议的操作后

sudo dpkg -i --force-overwrite /var/cache/apt/archives/collada-dom2.4-sp-dev_2.4.4.1-ubuntu1~trusty1_amd64.deb

为了解除软件包系统的堵塞,我执行了“sudo apt-get autoremove”,它删除了许多旧的 ROS-Indigo 内容。之后,“sudo apt-get check”未显示任何错误。

答案3

我解决了这个问题。显然,我有第三方存储库导致了这个问题。我用以下命令删除了它们:

sudo mv /etc/apt/sources.list.d/ /etc/apt/sources.list.d.bk/
sudo mkdir /etc/apt/sources.list.d/

然后我跑了sudo apt-get install -f

答案4

删除软件包:sudo apt-get remove collada-dom2.4-sp

相关内容