The state of cross building
Hi,
Let me give a status update on how well cross building works in
unstable.
Toolchain
---------
We have cross compilers and crossbuild-essential-* packages in unstable
for quite a while now. (Thanks to Matthias Klose.) These tend to work
well. Recently, sbuild saw significant improvements wrt. cross building
such that now one can simply "sbuild --build=arch1 --host=arch2 ..." and
have a reasonable expectation that it works. (Thanks to Johannes
Schauer.) Also pkg-config now ships the symlinks to a working cross
wrapper. (Thanks to Tollef Fog Heen.) Many more things have happened and
the gist is that much of the toolchain just works now! :)
Cross building the Debian archive
---------------------------------
Debian unstable has about 22000 source packages. Out of those, about 5000
source packages can satisfy their Build-Depends in a cross build
setting. For failing packages, detailed diagnostics can be found at
http://bootstrap.debian.net/cross_all.html. (Thanks to Johannes Schauer.)
Out of those 5000 source packages, I selected 3000 popular (as in
popcon) source packages and built them using debomatic (build arch =
amd64, host arch = ppc64el). (Thanks to Luca Falavigna.) About 1000
builds were successful (which doesn't imply that the resulting packages
actually work.) We can conclude that about 4% of Debian can be cross
built today.
You can find the build logs at:
http://subdivi.de/~helmut/debomatic-logs/
Processing the logs
-------------------
I've hacked up a script that guesses failure reasons by scanning the
logs with some regular expressions. Common issues are:
* (>800) Using the build architecture compiler or linker.
* (>150) Bug #812136 in dh_auto_build for cmake
* (>130) configure fails due to missing values in config.site
Bug reports
-----------
I would appreciate help with inspecting these build logs. To avoid
duplicating work, I added a bug column to the log index and intend to
update it when given a notice. Given the number of build failures, I
believe that a mass bug filing would be counterproductive and ask that
bugs reports are only filed when accompanied with a patch or a detailed
analysis.
Please follow up to debian-cross@lists.debian.org or stop by at
#debian-bootstrap on irc.oftc.net if you have any questions regarding
this effort.
Helmut
Reply to: