Skip to content

Commit 0cb9e45

Browse files
committed
Update README.arm.md based on recent improvements.
[ci skip]
1 parent 7f22390 commit 0cb9e45

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

README.arm.md

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ Chromebooks running Ubuntu Linux under Crouton, Raspberry Pi systems
55
and Odroid boards. This is a work in progress - several tests are
66
known to fail, and backtraces are not available.
77

8-
Most of the build failures in building the Julia system image are due
9-
to LLVM not being able to detect the correct ARM processor type and
10-
features. Experimenting with different `JULIA_CPU_ARCH` settings can
11-
help in such cases. For example, this is needed on Raspberry Pi, as
12-
discussed below.
8+
Julia on ARM can be built by simply typing `make`, which will download all
9+
the relevant libraries. This is the *recommended* way, and it will take a
10+
few hours.
11+
12+
If you get SIGILL during sysimg.o creation, it is likely that your cpu does not support VFP.
13+
File an issue on the Julia issue tracker with the contents of /proc/cpuinfo.
1314

1415
This is the list of known issues on ARM:
1516
[https://github.com/JuliaLang/julia/labels/arm](https://github.com/JuliaLang/julia/labels/arm)
@@ -19,19 +20,7 @@ This is the list of known issues on ARM:
1920
We recommend using at least Ubuntu 14.04 and gcc 4.8, which is part of the
2021
standard `build-essentials`.
2122

22-
Julia on ARM can be built by simply typing `make`, which will download all
23-
the relevant libraries. This is the *recommended* way, and it will take a
24-
few hours.
25-
26-
OpenBLAS detects the target architecture reasonably well, but in case
27-
it does not, you can force the target architecture should you need to in
28-
`Make.user`.
29-
30-
````
31-
override OPENBLAS_TARGET_ARCH=ARMV7
32-
````
33-
34-
Similarly, one can install other system libraries instead of building them,
23+
One can install other system libraries instead of building them,
3524
should the build be troublesome, by adding the following lines in `Make.user`:
3625

3726
````
@@ -50,6 +39,9 @@ The following command will install all the necessary libraries on Ubuntu.
5039
sudo apt-get install libblas3gf liblapack3gf libfftw3-dev libgmp3-dev libmpfr-dev libblas-dev liblapack-dev cmake gcc-4.8 g++-4.8 gfortran libgfortran3 m4 libedit-dev
5140
````
5241

42+
Note that OpenBLAS only supports ARMv7. For older ARM variants, using the reference BLAS
43+
may be the simplest thing to do.
44+
5345
# ARM specific build problems
5446

5547
If you run into issues building LLVM, see these notes:
@@ -58,12 +50,12 @@ If you run into issues building LLVM, see these notes:
5850
# Raspberry Pi
5951

6052
The Raspberry Pi ARM CPU type is not detected by LLVM.
61-
Before starting the build, it is recommented to add `export JULIA_CPU_ARCH=arm1176jzf-s`
62-
to your Make.user file to tune the generated code for your CPU architecture.
53+
Before starting the build, it is recommended to do `export JULIA_CPU_ARCH=arm1176jzf-s`
54+
at the shell to tune the generated code for your CPU architecture.
6355

6456
# Raspberry Pi 2
6557

66-
In the case of Raspberry Pi 2, download LLVM binaries from the LLVM website, since building LLVM on our own for some reason does not produce a working build.
58+
In the case of Raspberry Pi 2, in case the default build fails, download LLVM binaries from the LLVM website.
6759

6860
1. Download the [LLVM 3.6.1 binaries for ARMv7a] (http://llvm.org/releases/3.6.1/clang+llvm-3.6.1-armv7a-linux-gnueabihf.tar.xz) and extract them in a local directory.
6961
2. For each file in the extracted `bin`, `include`, and `lib` subdirectories, create symlinks from the corresponding directory under `/usr/local`.
@@ -72,11 +64,6 @@ In the case of Raspberry Pi 2, download LLVM binaries from the LLVM website, sin
7264
override USE_SYSTEM_LLVM=1
7365
```
7466

75-
# SIGILL during sysimg.o creation
76-
77-
Its likely that your cpu does not support VFP. File an issue on the Julia issue tracker with the contents of /proc/cpuinfo.
78-
79-
8067
# Chromebook
8168

8269
On Chromebooks, you have to first install Crouton. If you do not have

0 commit comments

Comments
 (0)