我想在 Ubuntu 18.04 上安装一些开发库:
sudo apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev
From the output of the command I read that packages have unmet dependencies:
libncurses5-dev : Depends: libtinfo5 (= 6.1-1ubuntu1) but
6.1-1ubuntu1.18.04 is to be installed
Depends: libncurses5 (= 6.1-1ubuntu1) but 6.1-1ubuntu1.18.04 is to be installed
Depends: libtinfo-dev (= 6.1-1ubuntu1) but it is not going to be installed libnss3-dev : Depends: libnss3 (=
2:3.35-2ubuntu2) but 2:3.35-2ubuntu2.7 is to be installed
libreadline-dev : Depends: libtinfo-dev but it is not going to be
installed libssl-dev : Depends: libssl1.1 (= 1.1.0g-2ubuntu4) but
1.1.1-1ubuntu2.1~18.04.5 is to be installed
Recommends: libssl-doc but it is not going to be installed E: Unable to correct problems, you have held broken
packages.
So I run the following command to install the libtinfo5:
sudo apt-get install libtinfo5
However libinfo5 is already the newest version (6.1-1ubuntu.1.18.04)
如果 libtinfo5 已经是最新版本,为什么依赖关系仍未得到满足。
答案1
同样的问题。您正在尝试安装
libncurses5-dev
这取决于
libtinfo5 版本 6.1-1ubuntu.1
但你的系统中安装的是版本
6.1-1ubuntu.1.18.04
您需要通过以下方式降级 libinfo5 版本
apt 安装 libtinfo5=6.1-1ubuntu.1但一定要小心:在我的系统中,尝试降级此软件包会导致几乎所有内容都被卸载,这显然会破坏整个系统。
实际上我还没有想出如何在不破坏系统的情况下降级这个软件包。
编辑:使用apitude
代替apt
我能够降级所有必要的软件包。必须说我必须自己摆脱所有依赖关系。使用aptitude -s install <package-name>=<version>
应该有助于摆脱它。
该-s
选项允许模拟系统可能发生的情况。