I'm trying to create a meta-package to install various dependencies (for Android build system), some of the packages should use the i386 version so I tried to use the "Multi-Arch" option but it fails to build.

The package looks like this (removed the other lines here):

Architecture: amd64
Multi-Arch: allowed
Depends: libncurses5-dev:i386

And when I run dpkg --build it says

'Depends' field, reference to 'libncurses5-dev': invalid architecture name 'i386': a value different from 'any' is currently not allowed"

Any idea how to proceed?

I'm running this on Ubuntu 12.04 (server).

  • 1
    You can't depend on a specific architecture of a package. The best you can do is depend on a package that's only available on that architecture (which can then depend on libncurses5-dev). – tumbleweed Mar 24 '13 at 19:50
  • I am having the same problem. Is anyone found a solution? Do i need a special version of dpkg to build multi-ach systems? – netcyrax Nov 2 '13 at 7:34

I believe you need to have a second package that is Architecture: i386-only and Multi-arch: foreign:

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

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


Multi-Arch: foreign

The package is not co-installable with itself, but should be allowed to satisfy the dependencies of a package of a different arch from itself.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.