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).First, clone the repository and enter the new directory.
cd vagabond
Download the git submodules within Vagabond which are needed to compile:
Now, we compile the source code and link the libraries and executables:
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 dependenciesN.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).
Click here if you were unable to locate packages.
Installing VagabondFirst, clone the repository and enter the new directory.
cd vagabond
Download the git submodules within Vagabond which are needed to compile:
Now, we compile the source code and link the libraries and executables:
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.
cd vagabond
Download the git submodules within Vagabond which are needed to compile:
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:
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
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?