如何修复损坏的包裹?


21

尝试在Ubuntu 14.04.2上安装libssl-dev

$ make
fatal error: openssl/sha.h: No such file or directory
compilation terminated.

$ sudo apt-get install libssl-dev
The following packages have unmet dependencies:
 libssl-dev : Depends: zlib1g-dev but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

$ sudo apt-get install zlib1g-dev
The following packages have unmet dependencies:
 zlib1g-dev : Depends: zlib1g (= 1:1.2.3.4.dfsg-3ubuntu4) but 1:1.2.8.dfsg-1ubuntu1 is to be installed
E: Unable to correct problems, you have held broken packages.

如何删除保留的软件包并安装正确的软件包?


您上一次跑步sudo apt update和/或sudo apt upgrade什么时候?
DopeGhoti

嗨,我在每个步骤之间都做了。
Sam Healey

Answers:


18

首先,尝试输入以下内容: sudo dpkg --configure -a

这将对解决损坏的依赖关系大有帮助。如果那还不够,请尝试: sudo apt-get install -f

然后清理并更新: sudo apt-get clean && sudo apt-get update

然后升级:( sudo apt-get upgrade 对升级说“ y”)

如果收到消息说某些软件包被“保留”,请执行以下操作:

sudo apt-get dist-upgrade

现在执行以下两个命令:

sudo apt-get purge zlib1g-dev
sudo apt-get autoremove

然后查看输入时发生的情况: sudo apt-get install libssl-dev

如果仍然无法正常运行,请尝试以下操作:

sudo aptitude install libssl-dev zliblg-dev=1:1.2.8.dfsg-1ubuntu1

如果仍然无法使用,请打开Synaptic软件包管理器(它应该在启动器中。如果找不到它,则在终端上输入synaptic-pkexec)。

搜索zlib1g-dev。如果zlib1g-dev旁边的框不是绿色,请单击它,然后选择“标记为安装”。如果看到多个版本,请选择1:1.2.8.dfsg-1ubuntu1。然后搜索libssl-dev。如果libssl-dev旁边的框不是绿色,请单击它,然后选择“标记为安装”。

然后选择“应用”。


嗨,谢谢您的回复。我做了以上所有操作,并得到与原始帖子相同的错误。当我进行升级时,收到以下消息。保留了以下软件包:linux-generic-lts-utopic linux-headers-generic-lts-utopic linux-image-generic-lts-utopic 0升级,0新安装,0删除和3未升级。
Sam Healey

什么给apt-cache policy zlib1g-devgrep -P '^[ \t]*[^#[ \t]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list

@Bahamut您确定要表示“ -P”吗?对于我来说,我会得到E: Command line option 'P' [from -P] is not known.
gracious1年

@SamHealey我对答案做了一些修改。尝试我在这里提出的建议,然后让我们知道如何进行。
gracious1

1
@Bahamut为什么图形程序没有sudo?
gracious1

2

您必须查找与软件包相关的所有文件并清除它们,然后重新安装。

sudo dpkg --list
sudo apt-get purge "file-name"

对每个文件重复第二个命令,然后重新安装。


0
sudo aptitude install lib_name_depending

当我想libcurl4-openssl-dev在Ubuntu 14.04LTS上安装时为我工作。

我的机器上没有安装几个依赖的库,并且使用aptitude工具,我设法以交互方式安装/降级必要的库/软件包以进行安装libcurl4-openssl-dev

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.