![Xenial i386 上安装的软件包“不可安装”](https://linux22.com/image/220329/Xenial%20i386%20%E4%B8%8A%E5%AE%89%E8%A3%85%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E2%80%9C%E4%B8%8D%E5%8F%AF%E5%AE%89%E8%A3%85%E2%80%9D.png)
(最初询问于询问 ubuntu但这是题外话,因为 Ubuntu 16.04 LTS 已经达到了标准支持寿命的终点;并且也是题外话所以。第三个是魅力?)
我正在维护的安装包的一部分是dist-upgrade
.我注意到存储库最近发生了变化,例如升级libmysqlclient18
到libmysqlclient20
,因此我必须相应地更改我的依赖项。
但是,现在我无法安装我的应用程序,因为它依赖于一个显然无法安装的已安装软件包。
$ uname -a
Linux myvm 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:00 UTC 2021 i686 i686 i686 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.7 LTS
Release: 16.04
Codename: xenial
$ sudo apt install ./myapp-dep1.deb ./myapp-dep2.deb ./myapp-bin.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'myapp-dep1' instead of './myapp-dep1.deb'
Note, selecting 'myapp-dep2' instead of './myapp-dep2.deb'
Note, selecting 'myapp-bin' instead of './myapp-bin.deb'
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:
myapp-bin : Depends: libhpdf (>= 2.2.1) but it is not installable
E: Unable to correct problems, you have held broken packages.
$ apt search libhpdf
Sorting... Done
Full Text Search... Done
libhpdf-2.2.1/xenial,now 2.2.1-1.1 i386 [installed]
C library for generating pdf files
libhpdf-dev/xenial,now 2.2.1-1.1 i386 [installed]
C library for generating pdf files (development files)
$ find /usr/lib/ -name "libhpdf*"
/usr/lib/libhpdf.so
/usr/lib/libhpdf-2.2.1.so
我的 Depends 行DEBIAN/control
包括等等,Depends: .., libhpdf (>=2.2.1), ..
那么我做错了什么?
起初我以为他们完全放弃了 i386,但它仍然列出来,至少在一些回购协议。这谢尼尔页面声明 Xenial 现在已加入 ESM,并且ESM页面将 x86 列为 Xenial 支持的架构。我确实怀疑我的公司是否有 ESM 支持,但无法获得关于他们是否放弃 x86 以实现非 ESM 的官方消息。
我以为 Xenial 是支持 x86 的最后一个版本,后续版本仅支持 x86_64,但 askubuntu 线程上的评论却另有说法。
我尝试aptitude
按照 SO 线程上的建议进行安装,但无法安装本地 .deb 文件。还尝试过dpkg
类似的结果:
$ sudo dpkg -i ./myapp-dep1.deb ./myapp-dep2.deb ./myapp-bin.deb
Selecting previously unselected package myapp-dep1.
(Reading database ... 112300 files and directories currently installed.)
Preparing to unpack ./myapp-dep1.deb ...
Unpacking myapp-dep1 (2023.02.01.214-1) ...
Selecting previously unselected package myapp-dep2.
Preparing to unpack ./myapp-dep2.deb ...
Unpacking myapp-dep2 (1.0-1) ...
Selecting previously unselected package myapp-bin.
Preparing to unpack ./myapp-bin.deb ...
Unpacking myapp-bin (1.0-420) ...
Setting up myapp-dep2 (1.0-1) ...
dpkg: dependency problems prevent configuration of myapp-bin:
myapp-bin depends on libhpdf (>= 2.2.1); however:
Package libhpdf is not installed.
dpkg: error processing package myapp-bin (--install):
dependency problems - leaving unconfigured
Setting up myapp-dep1 (2023.02.01.214-1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Errors were encountered while processing:
myapp-bin
...只是它仍然安装。
答案1
包名称是libhpdf-2.2.1
,因此您的依赖项需要指定:
Depends: ..., libhpdf-2.2.1, ...