Since the recent 0.13.0 release, Guix supports building software for aarch64 (64-bit ARM architecture). Here’s the current status.
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 http://flashner.co.il/~efraim/. Also there is the signing key for my odroid running
. The URL of my
General problem points/packages:
sablevm-classpathdoesn't compile, so currently there is no path for Java. A quick check showed about 140 packages depend on
gobinary, but it fails to actually build anything. When I checked Debian I saw they cross-compile their arm64
gobinary from amd64. I believe there may be an issue with using gccgo and linking against glibc.
guix package -A ghc | wc -lshows 293 packages.
It sounds like its all doom and gloom, but its not too bad.
guix package -A | wc -l
shows me 5,341 (5,208 without
), compared with ~5,600 on x86_64. Most of the difference is Haskell. In addition, I personally believe that aarch64 actually has fewer packages that fail to build than armhf.
Currently the project’s build farm lacks aarch64 build machines. If you would like to help, pleaseget in touch with us!
GNU Guix is a transactional package manager for the GNU system. The Guix System Distribution or GuixSD is an advanced distribution of the GNU system that relies on GNU Guix and respects the user's freedom .
In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. Guix uses low-level mechanisms from the Nix package manager, except that packages are defined as nativeGuile modules, using extensions to the Scheme language. GuixSD offers a declarative approach to operating system configuration management, and is highly customizable and hackable.
GuixSD can be used on an i686 or x86_64 machine. It is also possible to use Guix on top of an already installed GNU/Linux system, including on mips64el, armv7, and aarch64.