Skip to content

Latest commit

 

History

History
60 lines (43 loc) · 2.24 KB

README.arm.md

File metadata and controls

60 lines (43 loc) · 2.24 KB

Building Julia on ARM

Julia has been compiled on several ARMv7 / Cortex A15 Samsung Chromebooks running Ubuntu Linux under Crouton, Raspberry Pi systems and Odroid boards. This is a work in progress - several tests are known to fail, and backtraces are not available.

Most of the build failures in building the Julia system image are due to LLVM not being able to detect the correct ARM processor type and features. Experimenting with different JULIA_CPU_ARCH settings can help in such cases. For example, this is needed on Raspberry Pi, as discussed below.

This is the list of known issues on ARM: https://github.com/JuliaLang/julia/labels/arm

Build dependencies

In addition to the standard build-essentials toolchain the following libraries must be installed to build on ARM. On Debian/Ubuntu, use the following command:

sudo apt-get install libblas3gf liblapack3gf libfftw3-dev libgmp3-dev libmpfr-dev libblas-dev liblapack-dev cmake gcc-4.7 g++-4.7 gfortran libgfortran3

ARM specific Make.user

Please start from the standard build instructions, in particular the Linux notes.

Next, create a file in the julia top-level directory called Make.user with the following contents:

include $(JULIAHOME)/Make.arm

Then proceed to build as described in the primary README. Just typing make -j 4 at this stage should build julia.

If you run in to issues building LLVM, see these notes: http:https://llvm.org/docs/HowToBuildOnARM.html

Raspberry Pi

The Raspberry Pi ARM CPU is not correctly detected by LLVM. Before starting the build, export JULIA_CPU_ARCH=arm1176jzf-s. This tells LLVM that the CPU has VFP support. See the discussion in #10917.

Chromebook

On Chromebooks, you have to first install Crouton. If you do not have an Ubuntu chroot running on your Chromebook using Crouton, you can do so by following these tutorials.