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

Improving ARM64 support in Debian



I recently performed a rebuild of the Debian archive on ARM64 using
some ProLiant m400 servers.  While my original goal was to look for
compiler errors in GCC 5, the rebuild was a great way to find out the
current status of the ARM64 port.

I noticed the following areas where ARM64 support can be improved
further.  I wanted to send this email so we can coordinate and avoid
duplication of effort.

1) Missing dependencies

Over 550 packages failed to build on ARM64 due to missing
dependencies.  Some missing dependencies are libraries or tools that
have not been ported to ARM64 yet, but the majority was due to the
lack of popular programming languages on ARM64.  This includes
JavaScript (V8 engine, Node.js), Go (golang-go), .NET (Mono), Common
Lisp (sbcl), Haskell (GHC), and Pascal (fp-compiler).  I suspect most
of these are being ported upstream (possibly with the help of Linaro).

Edmund Grimley Evans filed some bugs to track the status in Debian, e.g.

Go (#784543): Should be in release 1.5 around July 31
Mono (#789771): Upstream status not clear from the bug
V8 (#785696): Done upstream but needs packaging (complicated due to node.js)
Free Pascal (#784569): Done upstream

2) Out of date configure scripts

During the rebuild, over 160 packages failed to build on ARM64 because
of out-of-date autoconf and libtool configure scripts.  Most of these
bugs have been reported over a year ago by the ARM64 porters (Matthias
Klose from Canonical/Ubuntu and Wookey from ARM/Linaro) and the
PowerPC porters.  These are easy to solve by autoreconfing packages;
maybe we should coordinate NMUs at some point.

3) Other packages that require porting work

I went through all packages that are not arch: any, but which list
specific architectures.  I filed wishlist bugs on those that look like
they might be useful on ARM64.  As a result, some Debian and upstream
developers already implemented ARM64 support, and for the rest we now
have a TODO list in the BTS. (I have some colleagues at HP who will
look into some of these bugs.)

During the archive rebuild, I looked up bugs and made sure all
existing bugs had the "arm64" usertag.  I also added additional tags
to make it easier to focus on specific areas:

 * "autoreconf" where autoconf/libtool updates are necessary
   http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=autoreconf;users=debian-arm@lists.debian.org
 * "port" where some actual porting work might be necessary
   https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=port;users=debian-arm@lists.debian.org

I hope this update is useful.

-- 
Martin Michlmayr
Linux for HP Helion, Hewlett-Packard


Reply to: