libstdc ++ 6-armhf-cross的未满足依赖性错误。怎么解决?

时间:2016-03-24 19:02:34

标签: dependencies ubuntu-14.04 apt

在这种情况下,如何修复未满足的依赖项?我跟着很多文章要求我做以下事情。但没有任何作用!我不明白如何手动解决问题。

sudo apt-get clean
sudo apt-get autoclean
sudo apt-get -f install

什么都没发生!我仍然得到错误。

sudo dpkg --configure -a
sudo apt-get -f install

仍然是同样的错误!

  The following extra packages will be installed:
      libstdc++6-armhf-cross
    The following packages will be upgraded:
      libstdc++6-armhf-cross
    1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
    4 not fully installed or removed.
    Need to get 0 B/210 kB of archives.
    After this operation, 77.8 kB of additional disk space will be used.
    Do you want to continue? [Y/n] Y
    (Reading database ... 519436 files and directories currently installed.)
    Preparing to unpack .../libstdc++6-armhf-cross_4.8.4-2ubuntu1~14.04.1cross0.11.1_all.deb ...
    Unpacking libstdc++6-armhf-cross (4.8.4-2ubuntu1~14.04.1cross0.11.1) over (4.8.2-16ubuntu4cross0.11) ...
    dpkg: error processing archive /var/cache/apt/archives/libstdc++6-armhf-cross_4.8.4-2ubuntu1~14.04.1cross0.11.1_all.deb (--unpack):
     trying to overwrite '/usr/share/gcc-4.8/python/libstdcxx/__init__.py', which is also in package libstdc++6:i386 4.8.4-2ubuntu1~14.04.1
    Errors were encountered while processing:
     /var/cache/apt/archives/libstdc++6-armhf-cross_4.8.4-2ubuntu1~14.04.1cross0.11.1_all.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

任何人都可以帮我弄清楚如何解决这个问题吗?我需要安装一些软件包,这个错误不允许我安装它!

2 个答案:

答案 0 :(得分:9)

我遇到了同样的问题。根据{{​​3}},这似乎是一个确认的错误,临时修复是

$ sudo apt-get -o Dpkg::Options::="--force-overwrite" install -f

为基础dpkg命令提供--force-overwrite选项。

答案 1 :(得分:1)

使用以下命令

sudo dpkg --remove --force-remove-reinstreq <package_name>

强制删除具有未满足依赖项的包。

然后列出所有已安装的软件包:

dpkg --get-selections | grep -v deinstall

现在,当我检查导致包裹的问题时;在这种情况下,用于arm交叉编译工具的cpp库。

有4.6-4.9的gcc版本有各自的arm交叉编译器!更不用说amd64和i386的gcc了!

这些是在旧项目的不同时间安装的,因此我删除了所有旧版本。

这解决了问题,我可以更新到最新的arm交叉编译器