Mir

Comment 0 for bug 1628507

Revision history for this message
Alexandros Frantzis (afrantzis) wrote :

When trying to cross-build Mir with sbuild version >= 0.68.0, the build fails with:

sbuild-build-depends-mir-dummy:armhf : Depends: cmake-data:armhf but it is not installable
                                       Depends: abi-compliance-checker:armhf but it is not installable

This is caused by a change ([1]) in the way sbuild installs build-deps for the package under build. Previously sbuild used the 'apt-get build-dep' command, but recent versions calculate the build-deps manually (using the Dpkg perl module) and install the -dummy package instead.

This change isn't a problem in and of itself, but unfortunately uncovers a problem in the cmake-data and abi-compliance-checker packages. In particular, the two packages are not multi-arch ready and sbuild can't know that it needs to install their native/build (amd64) version, using the host (armhf) version instead.

The previous 'apt-get build-dep' way worked because APT is patched in ubuntu (but not in debian) to consider packages with architecture 'all' as 'Multi-Arch: foreign' ([1],[2]). The Dpkg perl modules don't contain such a patch.

[1] https://anonscm.debian.org/cgit/buildd-tools/sbuild.git/commit/?id=e227c8f3e10edd78bc71350380f559c481634b79
[2] https://wiki.debian.org/Multiarch/CrossDependencies
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=666772