# Have a try Julia v1.4.2 for arm32bit

**URL:** https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284
**Category:** Tooling
**Tags:** announcement
**Created:** [May 27, 2020, 7:14pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284 "2020-05-27T19:14:17Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [May 27, 2020, 7:14pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/1 "2020-05-27T19:14:18Z")

</div>

- Since Julia for arm32bit (e.g. RaspberryPi series) reduced toTier3, [Download Julia](https://julialang.org/downloads/) does not provide, binary Julia 1.4.2. 😭

- Good news! I’m happy to announce the release of recipe (technically Dockerfile) that builds Julia v1.4.2 for RaspberryPi series.

- You can enjoy Julia on your Raspberry Pi 3 or 4 even Zero 😄

 ![image](https://global.discourse-cdn.com/julialang/original/3X/8/0/803a1507ccd8fe28ced8745d5f3738b5cda93c89.png)

- Does Julia packages runs on Raspberry Pi ?

- Is there any application we can use on Raspberry Pi ?

- Is Julia fast ?

Have a try !!!

---

<div class="post-metadata">

### Author: ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)
#### Post date: [May 27, 2020, 7:23pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/2 "2020-05-27T19:23:59Z")

</div>

What a great post! Thank you for sharing!

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 2, 2020, 8:35pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/3 "2020-06-02T20:35:57Z")

</div>

Hi @terasakisatoshi!

Very nice work! Can you please tell me if they can build correctly in the Pi Zero? Do I need any special configuration? Like a big SD card for swap or something?

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 4, 2020, 11:09pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/4 "2020-06-04T23:09:08Z")

</div>

Hi, @Ronis_BR Thanks for taking the time to look at this post.

- This link: [https://github.com/JuliaLang/julia/blob/master/doc/build/arm.md](https://github.com/JuliaLang/julia/blob/master/doc/build/arm.md) will help you if you like to build Julia locally. I haven’t built Julia in my local environment recently. I always use cross-compilation technique to ensure the reproducibility of the experiment.
- If you read this note: [https://github.com/Julia-Embedded/jlcross#raspberry-pi-zero](https://github.com/Julia-Embedded/jlcross#raspberry-pi-zero) , you can get Julia easily that runs on PiZero.
- And if you want to build Julia directly on PiZero, please refer to the following procedure.
  - [jlcross/Dockerfile-v1.4.2 at master · Julia-Embedded/jlcross · GitHub](https://github.com/Julia-Embedded/jlcross/blob/master/rpizero/Dockerfile-v1.4.2)

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 5, 2020, 12:10am UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/5 "2020-06-05T00:10:31Z")

</div>

Oh, very nice! I think it is not necessary to build Julia locally if the cross-compilation is working fine. The Zero should get here soon. I will test your binary version and let you know 🙂

EDIT: One question, since you already have a binary package for the Pi, is it possible to put it somewhere so that we can download without using docker?

---

<div class="post-metadata">

### Author: ![dlakelan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlakelan/32/8491_2.png) [@dlakelan](https://discourse.julialang.org/u/dlakelan)
#### Post date: [June 5, 2020, 2:17am UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/6 "2020-06-05T02:17:44Z")

</div>

From my RPI4:

```julia
$ apt-cache policy julia
julia:
  Installed: (none)
  Candidate: 1.4.1+dfsg-1+rpi1
  Version table:
     1.4.1+dfsg-1+rpi1 500
        500 http://raspbian.raspberrypi.org/raspbian testing/main armhf Packages
     1.0.3+dfsg-4+rpi1 500
        500 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages

```

So it seems raspbian already includes julia in testing, if you are ok with 1.4.1 version.

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 6, 2020, 4:50am UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/7 "2020-06-06T04:50:51Z")

</div>

Thanks for your work! I installed and it works flawlessly in Raspbian. In Arch Linux I got many libraries problems.

With respect to Julia, how I wish we could cache the compilation between executions… Julia is fast, but the first call to the function on the Pi Zero is very long. For example, summing to SVectors has performance comparable to C, but the first sum takes almost 20s here.

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 6, 2020, 12:57pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/8 "2020-06-06T12:57:04Z")

</div>

- Why don’t you try using PackageCompiler.jl?

> PackageCompiler is a Julia package with two main purposes:
> 
> 1. Creating custom sysimages for reduced latency when working locally with packages that has a high startup time.
> 2. Creating “apps” which are a bundle of files including an executable that can be sent and run on other machines without Julia being installed on that machine.

I’ve made a Dockerfile that testout PackageCompiler.jl works on PiZero with a little modification of functions defined inside of PackageCompiler.jl .

```julia-auto
FROM terasakisatoshi/jlcross:rpizero-v1.4.2

RUN julia -e 'using Pkg; \
    Pkg.add(["PackageCompiler", "StaticArrays"]); \
    # precompile pacakges; \
    using PackageCompiler, StaticArrays'

RUN mkdir /sysimages
RUN julia -e '\
using PackageCompiler; \
import PackageCompiler:march, default_app_cpu_target; \
# To specialize in Raspberry Pi zero, \
# we will override `march` and `default_app_cpu_target` \
march()=nothing; \
default_app_cpu_target() = "arm1176jzf-s"; \
create_sysimage([:StaticArrays], sysimage_path="/sysimages/sarrays.so"); \
'

```

# Usage:

- Let’s build a Docker image: You can run it on your PC (i.e. you do not have to run on Pi Zero)

```julia-auto
$ docker build -t sample .

```

## Running Julia with a default sysimage.

```julia-auto
$ docker run -it sample bash
# root@8a376904e61e:~# julia
               _
   _ _ _(_)_ | Documentation: https://docs.julialang.org
  (_) | (_) (_) |
   _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` | |
  | | |_| | | | (_| | | Version 1.4.2 (2020-05-23)
 _/ |\ __'_|_|_|\__'_| |
|__/ |

julia> @time using StaticArrays
  8.570656 seconds (2.63 M allocations: 97.142 MiB) 
julia> # Yeah ... Its so slow

```

## Running Julia with `/sysimages/sarrays.so`

```julia-auto
root@8a376904e61e:~# julia -J/sysimages/sarrays.so
               _
   _ _ _(_)_ | Documentation: https://docs.julialang.org
  (_) | (_) (_) |
   _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` | |
  | | |_| | | | (_| | | Version 1.4.2 (2020-05-23)
 _/ |\ __'_|_|_|\__'_| |
|__/ |

julia> @time using StaticArrays
  0.018823 seconds (528 allocations: 17.688 KiB)
julia> # Yeah !!!

```

I think this is exactly what you want.

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 6, 2020, 1:50pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/9 "2020-06-06T13:50:37Z")

</div>

Wow! Thanks, you’re awesome!

Can you please test the time it takes there to create the first SVector in both configurations? Just something like `SVector{3}(0.0,0.0,0.0)`. I am current struggling with docker on macOS to build this image 😅

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 6, 2020, 2:17pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/10 "2020-06-06T14:17:05Z")

</div>

Yep

```julia
              _
   _ _ _(_)_ | Documentation: https://docs.julialang.org
  (_) | (_) (_) |
   _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` | |
  | | |_| | | | (_| | | Version 1.4.2 (2020-05-23)
 _/ |\ __'_|_|_|\__'_| |
|__/ |

julia> @time using StaticArrays
  8.681726 seconds (2.63 M allocations: 97.372 MiB)

julia> @time s1=SVector{3}(rand(3)...)
  4.732088 seconds (527.81 k allocations: 23.473 MiB, 0.43% gc time)
3-element SArray{Tuple{3},Float64,1,3} with indices SOneTo(3):
 0.6251627489660037
 0.906300457096751
 0.15755352263915

julia> @time s2=SVector{3}(rand(3)...);
  0.000386 seconds (6 allocations: 224 bytes)

julia> @time s1+s2
  3.152563 seconds (262.98 k allocations: 9.889 MiB, 3.56% gc time)
3-element SArray{Tuple{3},Float64,1,3} with indices SOneTo(3):
 1.0164078910097523
 1.3066583615381162
 0.9318514291842892

```

```julia
root@322ab6dcb7f2:/home/pi/work# julia -J/sysimages/sarrays
               _
   _ _ _(_)_ | Documentation: https://docs.julialang.org
  (_) | (_) (_) |
   _ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` | |
  | | |_| | | | (_| | | Version 1.4.2 (2020-05-23)
 _/ |\ __'_|_|_|\__'_| |
|__/ |

julia> @time using StaticArrays
  0.033259 seconds (528 allocations: 17.688 KiB)

julia> @time s1=SVector{3}(rand(3)...)
  0.995602 seconds (89.46 k allocations: 3.633 MiB)
3-element SArray{Tuple{3},Float64,1,3} with indices SOneTo(3):
 0.7940274815713029
 0.33778859425558583
 0.8802788022203052

julia> @time s2=SVector{3}(rand(3)...)
  0.000409 seconds (6 allocations: 224 bytes)
3-element SArray{Tuple{3},Float64,1,3} with indices SOneTo(3):
 0.6341863302172961
 0.8197629384451275
 0.535413927058944

julia> @time s1+s2
  2.648152 seconds (201.26 k allocations: 7.491 MiB, 0.31% gc time)
3-element SArray{Tuple{3},Float64,1,3} with indices SOneTo(3):
 1.428213811788599
 1.1575515327007133
 1.4156927292792492

```

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 6, 2020, 2:51pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/11 "2020-06-06T14:51:13Z")

</div>

- I’ve updated the Dockerfile above by adding keyword argumnet `precompile_execution_file`.  
It will improve performance.

See [https://julialang.github.io/PackageCompiler.jl/dev/examples/plots/](https://julialang.github.io/PackageCompiler.jl/dev/examples/plots/) fore more information.

```julia
FROM terasakisatoshi/jlcross:rpizero-v1.4.2

RUN julia -e 'using Pkg; \
    Pkg.add(["PackageCompiler", "StaticArrays"]); \
    # precompile pacakges; \
    using PackageCompiler, StaticArrays'

RUN mkdir /sysimages

RUN echo 'using StaticArrays; s1=SVector{3}(0.0,0.0,0.0); s2=SVector{3}(rand(3)...); s1+s2' >> /home/pi/executionfile.jl
RUN julia /home/pi/executionfile.jl

RUN julia -e '\
using PackageCompiler; \
import PackageCompiler:march, default_app_cpu_target; \
# To specialize in Raspberry Pi zero, \
# we will override `march` and `default_app_cpu_target` \
march()=nothing; \
default_app_cpu_target() = "arm1176jzf-s"; \
create_sysimage([:StaticArrays], precompile_execution_file="/home/pi/executionfile.jl", sysimage_path="/sysimages/sarrays.so"); \
'

RUN julia -e '\
@time using StaticArrays; \
@time s1=SVector{3}(rand(3)...); \
@time s2=SVector{3}(rand(3)...); \
@time s1+s2;\
'

RUN julia -J/sysimages/sarrays.so -e '\
@time using StaticArrays; \
@time s1=SVector{3}(rand(3)...); \
@time s2=SVector{3}(rand(3)...); \
@time s1+s2;\
'

```

```julia
$ docker build -t sample .

```

will output …

```julia
...
...
...
Step 7/8 : RUN julia -e '@time using StaticArrays; @time s1=SVector{3}(rand(3)...); @time s2=SVector{3}(rand(3)...); @time s1+s2;'
 ---> Running in 04803b0cf08e
  8.666841 seconds (2.63 M allocations: 97.241 MiB)
  4.802351 seconds (527.82 k allocations: 23.474 MiB, 0.66% gc time)
  0.000365 seconds (6 allocations: 224 bytes)
  2.840873 seconds (275.62 k allocations: 10.468 MiB, 0.30% gc time)
Removing intermediate container 04803b0cf08e
 ---> d272f875c9e9
Step 8/8 : RUN julia -J/sysimages/sarrays.so -e '@time using StaticArrays; @time s1=SVector{3}(rand(3)...); @time s2=SVector{3}(rand(3)...); @time s1+s2;'
 ---> Running in 9b1244590691
  0.014529 seconds (528 allocations: 17.688 KiB)
  0.242853 seconds (253 allocations: 32.297 KiB)
  0.000339 seconds (6 allocations: 224 bytes)
  0.000107 seconds (1 allocation: 32 bytes)
Removing intermediate container 9b1244590691
 ---> d0b825ef3d9d
Successfully built d0b825ef3d9d

```

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 6, 2020, 3:03pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/12 "2020-06-06T15:03:43Z")

</div>

Thank you very much! I think I can do the same approach, precompile everything in the startup. It should work 🙂

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 8, 2020, 8:40am UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/13 "2020-06-08T08:40:53Z")

</div>

Also checkout [GitHub - terasakisatoshi/HelloX.jl: Hello World Application that will be compiled via PackageCompiler.jl](https://github.com/terasakisatoshi/HelloX.jl) 😃

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 8, 2020, 4:53pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/14 "2020-06-08T16:53:57Z")

</div>

Just a tip for people that want to try Julia in RPi zero W. REPL is very, very slow. When I run the script, then I see Julia is working pretty well. However, everything in REPL is very slow. Maybe because there is a lot of functions being compiled during typing and running. Hence, do not think Julia is slow if you are using REPL.

BTW @terasakisatoshi, I am working in a package to access GPIO/SPI without any external libraries. Using only `/dev/spidev0.X`and `/dev/gpiomem`. This is necessary because `PiGPIO` uses a daemon (`pigpio`) and communicates with it using sockets. I will never allowed to put this kind of thing inside a CubeSat. If I keep everything as baremetal as possible, maybe I can achieve the latency I need 🙂

---

<div class="post-metadata">

### Author: ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)
#### Post date: [June 17, 2020, 3:45pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/15 "2020-06-17T15:45:07Z")

</div>

Just an information, using the amazing guides provided by @terasakisatoshi, I could built Julia for Archlinux ARMV6. If anyone wants, I can share the package. In this case, I build every single dependency (inclusion openBLAS, lapack, etc.), so that it stays more or less disconnected from the system libraries. Otherwise, we may have some problems with Arch rolling release system (or not, if the API of those libraries does not change that much).

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [June 29, 2020, 9:40pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/16 "2020-06-29T21:40:04Z")

</div>

Hi folks, Have a try 1.5.0-rc1.

[https://github.com/Julia-Embedded/jlcross/pull/44](https://github.com/Julia-Embedded/jlcross/pull/44)

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [August 6, 2020, 5:02am UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/18 "2020-08-06T05:02:57Z")

</div>

Enjoy Julia v1.5 on your RaspberryPi Zero 😃

 ![Screen Shot 2020-08-05 at 16.16.53](https://global.discourse-cdn.com/julialang/original/3X/9/c/9cec95831d893859fa24a55f24d8584fd875c605.png)

also RaspberryPi3 or 4 🎉

 ![image](https://global.discourse-cdn.com/julialang/original/3X/5/4/54afb0733876f4d3b61c0ca8844d92ec54e4b8ce.png)

There is a good news we can build Julia 1.6-DEV. Note that 1.6 will be the next LTS version

 ![image](https://global.discourse-cdn.com/julialang/original/3X/d/e/dea4e466f605f2eba78fbf269b74915cf811a3d9.png)

I’d love to see someone interested in a little bit of Julia on Raspberry Pi series

---

<div class="post-metadata">

### Author: ![nurban](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nurban/32/5278_2.png) [@nurban](https://discourse.julialang.org/u/nurban)
#### Post date: [August 22, 2020, 8:03pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/19 "2020-08-22T20:03:24Z")

</div>

I’ve tried to compile on my Mac (Mojave) using the `rpi3/rpi3-v1.5.0` image, with the hopes of running Julia on both a RPi 3B+ and a 4 (both running Buster). (Will images in `rpi3` also build for a RPi 4?)

After running `docker build -t jl4rpi3 -f Dockerfile-v1.5.0 .` as per instructions, it crashes with an error:

```julia
Step 3/11 : RUN apt-get update && apt-get install -y build-essential libatomic1 python gfortran perl wget m4 cmake pkg-config git && apt-get clean && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*
 ---> Running in 86d10a034862
standard_init_linux.go:211: exec user process caused "exec format error"
The command '/bin/sh -c apt-get update && apt-get install -y build-essential libatomic1 python gfortran perl wget m4 cmake pkg-config git && apt-get clean && rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/*' returned a non-zero code: 1

```

Any suggestions? I am probably making a naive mistake; I’ve never tried to cross-compile something using Docker before.

---

<div class="post-metadata">

### Author: ![terasakisatoshi](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/terasakisatoshi/32/9187_2.png) [@terasakisatoshi](https://discourse.julialang.org/u/terasakisatoshi)
#### Post date: [August 22, 2020, 9:39pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/20 "2020-08-22T21:39:22Z")

</div>

Thank you for your trying. I’m using Mac (Catalina) and the latest stable Docker with no issue.  
Could you try one of the following ?

- Build again with `--no-cache` option
  - `docker build -t jl4rpi3 -f Dockerfile-v1.5.0 . --no-cache`

- Try to run docker image that I built
  - `docker run --rm -it terasakisatoshi/jlcross:rpi3-v1.5.0`

- Try to run with another Dockerfile e.g. `Dockerfile-v1.4.2`
- update your Docker or Mac

> (Will images in `rpi3` also build for a RPi 4?)

Yes, and there is a chance to build julia on your RPI4 locally without using Docker.

Hope it helps.

---

<div class="post-metadata">

### Author: ![nurban](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nurban/32/5278_2.png) [@nurban](https://discourse.julialang.org/u/nurban)
#### Post date: [August 23, 2020, 2:14pm UTC](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284/21 "2020-08-23T14:14:26Z")

</div>

Thanks for the help. I’m on the latest Docker, but can’t upgrade the OS to Catalina at the moment. Here’s what happened:

> - Build again with `--no-cache` option

Same error.

> - Try to run docker image that I built

This crashes immediately with `standard_init_linux.go:211: exec user process caused "exec format error"` without doing anything else.

> - Try to run with another Dockerfile e.g. `Dockerfile-v1.4.2`

Same as the original error.

> [@](#):
>
> Yes, and there is a chance to build julia on your RPI4 locally without using Docker.

The first thing I tried is to build Julia 1.5.0 locally (on my 3B+ with a fresh Buster install; I haven’t set up the 4 yet), using the [JuliaBerry instructions](https://juliaberry.github.io/compile.html). That compiled for a while but then crashed:

```julia
    CC src/llvm-api.o
    CC src/llvm-remove-addrspaces.o
    CC src/llvm-remove-ni.o
    LINK usr/lib/libjulia.so.1.5
/usr/bin/ld: ./gc.o: in function `combine_thread_gc_counts':
/home/pi/julia/src/gc.c:998: undefined reference to `__atomic_load_8'
/usr/bin/ld: /home/pi/julia/src/gc.c:999: undefined reference to `__atomic_load_8'
/usr/bin/ld: /home/pi/julia/src/gc.c:1000: undefined reference to `__atomic_load_8'
/usr/bin/ld: /home/pi/julia/src/gc.c:1001: undefined reference to `__atomic_load_8'
/usr/bin/ld: /home/pi/julia/src/gc.c:1002: undefined reference to `__atomic_load_8'
/usr/bin/ld: ./gc.o:/home/pi/julia/src/gc.c:1003: more undefined references to `__atomic_load_8' follow
/usr/bin/ld: ./gc.o: in function `jl_gc_collect':
/home/pi/julia/src/gc.c:3079: undefined reference to `__atomic_fetch_add_8'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:333: /home/pi/julia/usr/lib/libjulia.so.1.5] Error 1
make: *** [Makefile:75: julia-src-release] Error 2

```

Edit: That appears to be this issue: [Failing to build on ARM due to missing atomic library · Issue #36371 · JuliaLang/julia · GitHub](https://github.com/JuliaLang/julia/issues/36371)

[Next page](https://discourse.julialang.org/t/have-a-try-julia-v1-4-2-for-arm32bit/40284.md?page=2)
