即使用apt-get clean
清理后,它也会说有损坏的包。[1]中提到的sudo dpkg -l | grep ^..r
什么也不返回。
$ sudo apt-get install build-essential
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
build-essential : Depends: libc6-dev but it is not going to be installed or
libc-dev
Depends: g++ (>= 4:9.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
[1][https://www.techbrown.com/fix-broken-packages-ubuntu-debian/](https://www.techbrown.com/fix-broken-packages-ubuntu-debian/)
5条答案
按热度按时间3hvapo4f1#
TL;DR:必须降级
libc6
,然后才能安装build-essential
经历了同样的事情:
我是这么做的。
检查了
apt-cache policy g++
,我认为这已经令人满意,所以我继续:已检查
apt-cache policy libc6-dev
:已尝试安装特定版本(上面显示的最新版本):
做了同样的事情,尝试安装特定的
libc6
版本:强调我得到的警告:
dpkg: warning: downgrading libc6:amd64 from 2.31-0ubuntu9.3 to 2.31-0ubuntu9.2
现在我可以安装
build-essential
了:我读了多个不同的stackoverflow帖子,导致我使用了我不熟悉的
apt-cache policy $package
。然后我只是到处玩。abithluo2#
在寻找答案后,我决定手动安装“正确”的版本,并在下载pkg文件时遇到了这个问题:
将以下行添加到/etc/apt/sources.list中:
更新软件包索引:
在添加了这个存储库之后,我能够使用以下命令安装build-essential:
u5rb5r593#
我想我偶然发现了一个超级简单的解决方案。没有降级或内核构建。只是运行
在我的案例中有3个仓库返回错误,
刚启动软件更新程序,删除了出现错误的PPA,现在我可以安装新软件,而无需
错误。
klsxnrf14#
我在
Ubuntu 22.04 LTS
中遇到了类似的问题当我使用sudo apt install build-essential
时,错误:
**解决方案:**我尝试使用命令降级软件包
但是,它并没有解决问题,并导致最后一个错误:
**解决方案:**因此,我再次将错误包降级
现在,问题终于解决了,我可以用
第一个
2w3rbyxf5#
您必须从Software & Updates申请“规范合作伙伴”支持。
Software & Updates of Ubuntu20
在Canonical Partners(而不是源代码)中标记“√”,然后执行