Currently, you can only install from source. That is until we produce binaries for different plateforms.
Installation from source¶
First, you will need to download the Boost libraries since the project depends on it. The header files needed are already in the deps folder so you only need to compile dependencies that require separate compilation.
- Download Boost
First, you need to download the
Boost libraries from
Extract the archive in a folder of your choice. For the purpose of this manual,
we are using ~/Downloads:
~/Downloads$ tar --bzip2 -xf /path/to/boost_1_68_0.tar.bz2
Make sure to use Boost 1.68 since it is the version against which developement
is currently occuring. Also, development is occuring on a Linux system so please
Unix variant of the libraries.
- Download Avalon
Now, download the
Avalon source from github.com.
Extract the archive and copy Avalon in the directory of your choice.
Again, for the purpose of this tutorial, we are using
- Compile and install Boost into Avalon
To begin, configure
Boost to install its compiled libraries in
and its header files in
~/Downloads/avaloniq-master/deps/boost by doing the following:
~/Downloads/boost_1_68_0$ ./bootstrap.sh --with-libraries=filesystem --libdir=/usr/local/lib --includedir=~/Downloads/avaloniq-master/deps/boost
Next we perform the compilation and library installation:
~/Downloads/boost_1_68_0$ sudo ./b2 install
- Compile Avalon
Avalon is very simple:
~/Downloads/avaloniq-master$ make clean && make
- Install Avalon
We perform a system-wide installation of
Avalon so you can run the interpreter
from any directory. To perform the installation, run:
~/Downloads/avaloniq-master$ sudo make install
- Set AVALON_HOME
The interpreter comes with an SDK that’s being updated. This SDK lives at
You need to set
AVALON_HOME to point to that directory so the interpreter can find
the SDK programs.
You can set
AVALON_HOME directly for one session with the following:
$ export AVALON_HOME=/usr/lib/avalon-sdk
You can also edit
~/.bashrc and add the same line in it and have the SDK always accessible
Running your program¶
The interpreter expects only the file that contains the function
To run your programs, invoke the interpreter from your terminal followed by your file with the main function and optional arguments separated by a space:
$ avaloni prog.avl arg_1 arg_2 arg_n