[Top][All Lists]

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

The current state of Aarch64 on Guix

From: Efraim Flashner
Subject: The current state of Aarch64 on Guix
Date: Thu, 29 Jun 2017 21:37:58 +0300
User-agent: Mutt/1.8.3 (2017-05-23)

Currently Aarch64 support in guix is pretty good, as long as you don't
mind compiling for yourself :). Potential downfalls are too little RAM
(I limited my boards to 2GB minimum) and using an SD card. For building
packages I made sure that between RAM and swap I have at least 6 GB,
which I don't recall giving me any issues.

There were problems with actually building the guix binary in time for
the 0.13 release, it has since been fixed and I have an unoffical
aarch64 binary install tarball at Also there is
the signing key for my odroid running guix-publish. The url for the
guix-publish server is

General problem points/packages:

* Java is currently out, sablevm-classpath doesn't compile, so currently
there is no path for java. A quick check showed about 140 packages
depend on sablevm-classpath.
* Go: go-1.4.x doesn't support aarch64 (or mips). I have a patch against
our gcc to build gccgo, and it produces a go binary, but it fails to
actually build anything. When I checked Debian I saw they crosscompile
their arm64 go binary from amd64.
* ocaml-4.01.0: Doesn't build on aarch64, haven't investigated.
* julia: aarch64 is officially supported, but it has only been tested on
superpowerful boards, like the ThunderX. I haven't gotten it to build
* clisp: our current version doesn't build on aarch64, there isn't
support yet. There are newer builds but no offical release yet, and I
haven't tested those yet.
* gprolog: No upstream support and AFAICT no one is working on it.
* ldc: 1.x is supposed to support aarch64, 0.17.*, aka ldc-bootstrap,
doesn't, it fails while compiling phobos, which has no aarch64 support
in that version.
* rust: Has upstream support, our package uses the i686 version as a
bootstrap, so only i686 and x86_64 have support in guix ATM.
* haskell: There is no upstream aarch64 binary to use for bootstrapping.
I'm thinking of trying to use qemu-system-x86_64 as the shell and
emulate x86_64 on my aarch64 board to cross-compile it to aarch64.
* qt-4: does not build, I've hardly put any time into it.
* gnucash: The ancient webkit version they use didn't build on aarch64,
I haven't tried to fix it.
* kernel: I don't know if there's a generic armv8 kernel config

It sounds like its all doom and gloom, but its not too bad. `guix
package -A | wc -l' shows me 5341 (5208 without sablevm-classpath),
compared with ~5600 on x86_64.

Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]