How to build Julia on Raspberry Pi Jessie
(update 2017-05-15: Julia is now available as a raspbian package!)
I wanted to try it on Raspberry Pi, and here are the steps I have gone through:
0. Get source codes
Cloned the git repository:
$ cd /tmp $ git clone https://github.com/JuliaLang/julia.git
1. Install packages for building from the source
I had to install required packages:
$ sudo apt-get install -y libblas3gf liblapack3gf libarpack2 libfftw3-dev libgmp3-dev libmpfr-dev libblas-dev liblapack-dev cmake gcc-4.8 g++-4.8 gfortran libgfortran3 m4 libedit-dev
But due to the cmake package in Raspbian Jessie is outdated(3.0.2, but 3.4.3 or higher was required), I had to remove it:
$ sudo apt-get purge cmake cmake-data
and build cmake from the latest source file:
$ wget https://cmake.org/files/v3.7/cmake-3.7.0.tar.gz $ tar -xzvf cmake-3.7.0.tar.gz $ cd cmake-3.7.0 $ ./bootstrap $ make $ sudo make install
2. Build Julia
Changed directory into the cloned repository of Julia:
$ cd /tmp/julia
and started building:
$ sudo make all
Fortunately, nothing went wrong, so it was time to install the built binaries.
3. Install Julia
I wanted the binary files to be placed under
/opt/julia, so did the following:
$ echo "prefix=/opt/julia" > Make.user
and started installing:
$ sudo make install
4. Additional things to be done
After the installation, I changed the permission of installed files:
$ sudo chown -R $USER /opt/julia
Without this change, files were not accessible for me, because they were built/installed with root privilege(sudo).
After that, I added
/opt/julia/bin to my $PATH variable:
# in .bashrc or .zshrc PATH=$PATH:/opt/julia/bin
Julia became excutable from anywhere!
[email protected]:~/files ‹master›$ julia _ _ _ _(_)_ | A fresh approach to technical computing (_) | (_) (_) | Documentation: http://docs.julialang.org _ _ _| |_ __ _ | Type "?help" for help. | | | | | | |/ _` | | | | |_| | | | (_| | | Version 0.6.0-dev.1262 (2016-11-16 21:47 UTC) _/ |\__'_|_|_|\__'_| | Commit 9f999b7 (1 day old master) |__/ | arm-linux-gnueabihf julia>
I put whole processes into a bash script here(not tested yet :-O).
Though it’s buildable and excutable on Raspberry Pi, I’m still not sure if Julia runs well on it.
I have to learn more and use it with real world problems :-)