JuliaBerry

Julia for the Raspberry Pi.

JuliaBerry is an organisation that brings together various resources for using the Julia language for the Raspberry Pi.

Installing Julia

Julia has started to provide support for the ARM architecture used by the Raspberry Pi since version 0.5.

Prebuilt binary

For the Raspberry Pi 2 and 3, the easiest way to install Julia is to download the “ARMv7 32-bit hard float” binary from the JuliaLang downloads page.

The current release (0.5.0) bundles a version of the libstdc++ library which is quite old, and can cause conflicts when using certain julia packages (issue #18816). This can be fixed by removing the file lib/julia/libstdc++.so.6 from the extracted tree (it is not needed as a newer version is already installed on Raspbian).

This can all be accomplished by the following:

wget https://julialang.s3.amazonaws.com/bin/linux/arm/0.5/julia-0.5-latest-linux-arm.tar.gz
mkdir julia
tar -xzf julia-0.5-latest-linux-arm.tar.gz -C julia --strip-components 1 --exclude libstdc++.so.6

Julia can then be run by

julia/bin/julia

You may get a warning “WARNING: unable to determine host cpu name.”: this can safely be ignored and should be fixed in the next release (issue #17549).

Compiling from source

If you have a Raspberry Pi 1 or Zero, you will need to compile it from source. Instructions for this are available in the Julia ARM readme.

IJulia notebook

Jupyter will need to be installed manually, as the automatic Conda installer does not work on the ARM architecture. Generally, running

sudo apt install libzmq3-dev
sudo pip3 install jupyter

at the shell should work. Then it should be sufficient to do

Pkg.add("IJulia")

at the Julia REPL.

Packages

The JuliaBerry org provides several Raspberry Pi-specific packages:

Questions/issues

We do not have a dedicated mailing list, however questions can be posted to the Julia discourse.

Issues should be filed with the relevant packages: if in doubt which package is appropriate, please ask on the above mailing list.

If you would like to contribute a new package to the JuliaBerry org, open an issue on the repository in question and ping @aviks or @simonbyrne.

If you have any comments or suggestions for the website, please open an issue here.