ArangoDB v2.8 reached End of Life (EOL) and is no longer supported.
This documentation is outdated. Please see the most recent version here: Try latest
Compiling on Debian
You want to compile and run the devel branch, for example to test a bug fix. In this example the system is Debian based.
This solution was made using a fresh Debian Testing machine on Amazon EC2. For completeness, the steps pertaining to AWS are also included in this recipe.
Launch the VM
Login to your AWS account and launch an instance of Debian Testing. I used an ‘m3.xlarge’ since that has a bunch of cores, more than enough memory, optimized network and the instance store is on SSDs which can be switched to provisioned IOPs.
The Current AMI ID’s can be found in the Debian Wiki: https://wiki.debian.org/Cloud/AmazonEC2Image/Wheezy
Upgrade to the very latest version
Once your EC2 instance is up, login ad
sudo su to become
First, we remove the backports and change the primary sources.list
rm -rf /etc/apt/sources.list.d echo "deb http://http.debian.net/debian testing main contrib" > /etc/apt/sources.list echo "deb-src http://http.debian.net/debian testing main contrib" >> /etc/apt/sources.list
Update and upgrade the system. Make sure you don’t have any broken/unconfigured packages. Sometimes you need to run safe/full upgrade more than once. When you’re done, reboot.
aptitude update aptitude safe-upgrade aptitude full-upgrade reboot
Install Build dependencies
Before you can build ArangoDB, you need a few packages pre-installed on your system. ArangoDB also bundles a few libraries, which can be enabled/used by using the “all-in-one” switches during the configuration state.
More information on the dependencies is available in the official documentation: https://docs.arangodb.com/Installing/Compiling.html
Login again and install them.
sudo aptitude install git-core \ build-essential \ autoconf automake \ libssl-dev libreadline-dev libboost-test-dev \ cmake \ python2.7 \ golang-go
Build ArangoDB - autoconf way
To build ArangoDB we don’t need to be root. It’s perfectly fine to build as admin.
Depending on what you want to do with your build, it may make sense to set a few compiler flags. Below we include debug symbols and disable all optimization.
export CFLAGS="-g -O0" export CXXFLAGS="-g -O0"
Now, as normal user, we will clone and build ArangoDB
git clone -b devel git://github.com/arangodb/arangodb.git cd ArangoDB make setup ./configure
The configure summary should include a version and details for: readline, openssl, zlib, libev, v8, icu.
Now we’re ready to build, and let’s make sure we max out the machine:
make -j $(nproc)
Now that you have a custom build, you probably want to run it. Have a look at Running Custom Build
Build ArangoDB - cmake way for ARM-targets
The cmake way will work on ARM systems, plus you will end up with
You should configure your system to use the gold-ld, since its using far less resources:
cd /usr/bin rm ld ln -s ld.gold ld
First we need to compile the dependencies (V8, libev…) via the traditional configure / make style:
Once we got all the dependencies compiled we can continue using them for subsequent builds:
cd 3rdParty; make -f Makefile.v8-arm install
then continue with the main package building:
If you want to fiddle with the process, visit
GNUmakefile and search for
pack-arm to find its invocation of cmake.
Author: Patrick Huber
Tags: #debian #driver