在这种情况下,如何修复未满足的依赖项?我跟着很多文章要求我做以下事情。但没有任何作用!我不明白如何手动解决问题。
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)
任何人都可以帮我弄清楚如何解决这个问题吗?我需要安装一些软件包,这个错误不允许我安装它!
答案 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交叉编译器