创建一个多架构的元包

我正在尝试创建一个元包来安装各种依赖项(用于Android构建系统),其中一些包应该使用i386版本,所以我尝试使用"Multi-Arch"选项,但是构建失败了。
这个包的样子如下(此处省略了其他行):
Architecture: amd64
Multi-Arch: allowed
Depends: libncurses5-dev:i386

当我运行dpkg --build时,它显示: 'Depends'字段,对'libncurses5-dev'的引用:无效的架构名称'i386':目前不允许使用与'any'不同的值" 有什么建议吗?
我在Ubuntu 12.04(服务器版)上运行这个。

1你不能依赖于一个特定的软件包架构。你能做的最好的办法是依赖于只在该架构上可用的软件包(然后该软件包可以依赖于libncurses5-dev)。 - tumbleweed
我遇到了同样的问题。有人找到解决办法吗?我需要一个特殊版本的dpkg来构建多架构系统吗? - netcyrax
1个回答

我相信你需要有一个仅支持 Architecture: i386Multi-arch: foreign 的第二个软件包:

Package: mybuildsystem
Architecture: amd64
Depends: mybuildsystem-i386, <amd64 stuff>

Package: mybuild-system-i386
Architecture: i386
Depends: libncurses5-dev
Multi-Arch: foreign

因为1
多架构:外部 该软件包不能与自身共同安装,但应允许满足不同架构的软件包的依赖关系。