标记为支持“所有”架构的软件包存在多架构问题

标记为支持“所有”架构的软件包存在多架构问题

我在系统中添加了外部架构amd64,例如arm64。假设我想安装libproj9:arm64。我收到以下错误:

libproj9:arm64 : Depends: proj-data:arm64 but it is not installable

现在看看proj-data包(这里),可以看到架构支持为all。因此,理论上安装proj-dataasapt-get install proj-data应该可以支持所有架构,即与架构无关。

然而...包管理器正在寻找它proj-data:arm64,但自然找不到它,因此失败了。

  • 有没有已知的方法可以解决这个问题?如果重要的话,我使用的是 Xenial (Ubuntu 16.04)。
  • 或者我应该手动编辑.deb文件正如这里暗示的那样并试图欺骗 dpkg?

答案1

因此,正如我所料,目前有一个hacky解决方案,虽然我不喜欢,但至少它允许我继续工作。如果有人对临时解决方案感兴趣:

  • 我下载了proj-dataapt-get download proj-data
  • 我使用 fpm 来更改.deb 的控制文件:fpm -e -s deb -t deb ../proj-data_4.9.2-2_all.deb
  • 在控制文件中,我将此行更改Architecture: all为: Architecture: arm64

    更新:基于文档实际上使用Architecture: any应该是这样的(但我还没有测试过)。

  • 我安装了新的.debdpkg -i <deb_file>

现在libproj9:arm64不再有任何抱怨了proj-data:arm64

相关内容