[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: