libstdc++6-armhf-cross 出现未满足的依赖项错误。如何解决?

Unmet dependencies error with libstdc++6-armhf-cross. How to fix it?

在这种情况下如何修复未满足的依赖项?我关注了很多要求我执行以下操作的文章。但是没有任何效果!我不明白如何手动解决问题。

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)

谁能帮我解决这个问题?我需要安装一些包,这个错误不允许我安装它!

使用以下命令

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 交叉编译器

我 运行 遇到了同样的问题。根据 this bug report,这似乎是一个已确认的错误,临时修复是

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

它为基础 dpkg 命令提供了一个 --force-overwrite 选项。