Vagabond is released under the GNU General Public License v3 and comes with no warranty of any kind. Any publications from Vagabond should cite the main published paper on Vagabond, which admittedly does not yet exist.

Wait!

Unless you have a special reason to install from source, if you're on Linux, download the compiled binaries and enjoy an automatic update system.

Background

Vagabond uses the Meson build system and has the following dependencies which may need to be installed on your system first. These installation instructions are tested for Fedora and Mac OS X. However, some specific issues you may come across (also for Mac OS X and other flavours of Linux) are mentioned in the FAQ.

Fedora/Linux

Installing dependencies

If you are using dnf (or yum), these are the packages you need. Note that you will probably need to invoke super user privileges (sudo).

yum install fftw-devel meson

If you wish to install the GUI, you will need the Qt5 library. If you are using the apt-get package manager, you may need the qt3d5-dev package instead.

yum install qt5-devel

Installing Vagabond

First, clone the repository and enter the new directory.

git clone --recurse-submodules https://github.com/helenginn/vagabond.git
cd vagabond

Download the git submodules within Vagabond which are needed to compile:

git submodule update --init --recursive

We can configure a build directory and compile it. For full optimisation, we choose the 'release' build type.

meson --buildtype=release build/current

At this point, you will be notified of any missing libraries which meson could not find. It will also only compile the command line version if it was unable to find Qt5.

Now, we compile the source code and link the libraries and executables:

ninja -C build/current

And if that worked, we can then install it so vagabond is accessible from the environment $PATH variable:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH'

If that produces the correct export command, then add it to your appropriate configuration file. For example, for bash:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH' >> ~/.bashrc

Continue to the testing Vagabond section.

Ubuntu/Linux

Installing dependencies

N.B. these instructions have not been rigorously tested.

For the apt-get package manager, the following dependencies are required. Note that you will probably need to invoke super user privileges (sudo).

apt install meson qt3d5-dev libfftw3-dev libpng-dev libboost-all-dev build-essential cmake pkg-config

Click here if you were unable to locate packages.

Installing Vagabond

First, clone the repository and enter the new directory.

git clone https://github.com/helenginn/vagabond.git
cd vagabond

Download the git submodules within Vagabond which are needed to compile:

git submodule update --init --recursive

We can configure a build directory and compile it. For full optimisation, we choose the 'release' build type.

meson --buildtype=release build/current

At this point, you will be notified of any missing libraries which meson could not find. It will also only compile the command line version if it was unable to find Qt5.

Now, we compile the source code and link the libraries and executables:

ninja -C build/current

And if that worked, we can then install it so vagabond is accessible from the environment $PATH variable:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH'

If that produces the correct export command, then add it to your appropriate configuration file. For example, for bash:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH' >> ~/.bashrc

Continue to the testing Vagabond section.

Mac OS X

Installing dependencies

All the dependencies of Vagabond are available through brew. If you don't have it already, you'll need sudo privileges to install it the first time. You can get brew here.

Get the dependencies for the compiler. Meson will perform the compilation, whereas Meson relies on pkg-config to find the other libraries on which Vagabond is dependent.

brew install meson pkg-config

Get the dependencies for Vagabond:

brew install fftw qt5 libpng boost

Then, clone the repository and enter the new directory.

git clone --recurse-submodules https://github.com/helenginn/vagabond.git
cd vagabond

Download the git submodules within Vagabond which are needed to compile:

git submodule update --init --recursive

Installing Vagabond

Unfortunately, brew installs qt5 in an unusual place on the file system which is not automatically picked up by pkg-config. There are some additional flags Vagabond requires to compile the GUI which are specific to Mac OS X. Therefore, when we configure the build, we have to give meson some help by setting the environment variables CCX_FLAGS and PKG_CONFIG_PATH (n.b. all one line!):

PKG_CONFIG_PATH=/usr/local/opt/qt/lib/pkgconfig:/usr/local/lib/pkgconfig meson --buildtype=release build/current

Now, we compile the source code and link the libraries and executables:

ninja -C build/current

And if that worked, we can then install it so vagabond is accessible from the environment $PATH variable:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH'

If that produces the correct export command, then add it to your appropriate configuration file. For example, for bash on Mac OS X:

echo "export "'PATH'"=\"`pwd`/build/current\"":'$PATH' >> ~/.bash_profile

Testing Vagabond

Note that at the stage of configuring the build directory, if Qt5 has not been found, meson will still compile the command line-only version successfully. To see if the command line version works, in which case you should see the Vagabond mask:

vagabond

If you have been able to compile the GUI, you will get the start screen when you type this:

vagabond-gui

If your GUI is working, maybe you want to try the tutorial?