Required tools
You will need to ensure that your system has the following sofware building tools installed:
- gcc/g++ 3.x or above but preferably 4.3 or above
- python (2.3.4 or above)
- gettext 0.12.1 or above
- pkg-config 0.20 or above
Required libraries
You will need to ensure that your system has
the following libraries installed. If you are installing these libraries using a package manager such as yum, apt-get, synaptic etc., please note that you must install the normal library package and the development version. The development package typically has the same name as the normal one with -dev
or -devel
appended. Alas, different package management systems use different conventions for this.
The normal library package is intended for people who just want to run software that uses the library; the development version is required for people who want to build software that uses the library ("developers").
In the lists below, we have tried to indicate some of the various names for the packages corresponding to these software libraries. Unfortunately, different package management systems use different names, and we cannot ensure that the names we mention below will exist for your system.
On Linux, you must also have the development version of the ALSA library installed. The package is typically called libasound2-dev, but your distribution might call it something else.
Depending on how your version of Raptor was built, you may need additional libraries to satisfy its dependencies, even though they will not be used by Ardour. If you build Raptor yourself, we recommend that you use --disable-www in the configure step, to avoid unnecessary dependencies on WWW-related libraries.
- JACK 0.120.0 or later (
libjack
) - XML2
- XSLT (recently became required by XML2)
- libart_lgpl 2.3.16 or later (
libart, libart_lgpl
) - samplerate 0.1.2 or later (
libsamplerate
) - samplerate 0.1.18 or later (
libsndfilee
) - raptor (
libraptor
,libraptor1
) - lrdf ((
librdf
,librdf0
) -
GTK+ 2.24 (plus other GTK requirements like Pango, ATK, Cairo) (
libgtk2
,libgtk2.0
,libgtk2.0-0
). Note that Ardour will not build with GTK3. - the equivalent *mm wrappers (GTKmm, Glibmm) etc.
-
libgnomecanvas (
libgnomecanvas2
,libgnomecanvas2-0
) -
liblo (
liblo
,liblo0
) (a lightweight Open Sound Control (OSC) library) -
boost (
libboost
(note: ardour is not linked against boost, but it does require the header files to be present) - FFTW v3. Note that you will need both the double-precision version ("fftw3") and the single-precision ("fftw3f") version installed.
- aubio
- libltc
Note that almost all current Linux distributions will already have installed the XML, glib, GTK and libart_lgpl libraries on your system.
Building FFTW from source
If you are building the FFTW library from source yourself, you must do a full compile twice, once with ./configure --enable-float
and once with ./configure --disable-float
. This will build separate, independent single-precision and double-precision versions of the library. Be sure to run make install
and then make clean
after each build. In general there is no need to worry about other options to configure
other than --prefix (which controls where it is installed).
Building Ardour on OS X
Building Ardour on OS X is generally a lot more difficult than on Linux. The environment just doesn't support the use of 3rd party libraries and open source frameworks as simply as Linux does. However, for a reasonably experienced programmer, its not a particularly hard process, just a very long and tedious one.
native (X11-free) version
Please read the documentation on this painful process
X11 version for OS X
We no longer support this build.
Building with VST Support (for Linux)
Please read the detailed instructions.
waf
Ardour3 uses an excellent software build system called waf You do not need to install this - the build system is distributed as part of the Ardour source code. We switched to waf because of the amazingly poor quality, consistency and overall design of the auto* tools traditionally used by Unix software projects, and the slow speed of SCons when used with a project under rapid, continuous development.
If you have any additional questions on waf, please post them on the ardour-dev mailing list. ardour-users should not be bothered about it yet to not confuse normal users.
Building Ardour3 with waf
waf is completely based on Python, but almost all Linux distributions and releases of OS X already have it already installed and working.
Building Ardour3 is a two-step process. First, you run a "configure" step" by changing to the top of source directory tree, and running this command:
./waf configure
This is equivalent to the “traditional” call of configure; make
. If you want to change installation paths, you can simply set the parameters on the scons call like
./waf configure --prefix=/usr
Note that options are “sticky” - the same value will be used until you specify a different value for the option as part of a configure step. ./waf --help
will list all available options. It is STRONGLY RECOMMENDED that you build Ardour3 with the --debug option as part of your configure step. Once configued, you can then run:
./waf
to actually build the program. This can take a long time. The record (so far) is 3:37 on a “warm” AMD Phenom II 3.2GHz 6-core system. Build times on typical current machines (Fall 2010) will range from 6 to 20 minutes. The link step consumes huge amounts of memory and can be extraordinarily slow if you machine has to swap.
You do not need to install in order to test the build: just change into the gtk2_ardour directory and run the ./ardev
command.
To install the results:
./waf install
Uninstall is, unsuprisingly, accomplished by ./waf uninstall
.
To clean up the build, use ./waf clean