Building Jack For FFADO
The first step is obtaining the source:
$ svn co http://subversion.jackaudio.org/jack/trunk/jack jack
Before you can compile JACK, you need to make sure all its dependencies are there. In addition to those packages you installed for FFADO, make sure you have the autotools installed (another automated build system, same as scons for FFADO). If your distro does not have an autotools meta-package: the single tools are autoheader, autoconf, automake, libtoolize, make.
Now we will configure, compile and install the new jackd. We’ll need to specify a default temporary directory. For performance reasons, this should be a special in-memory file system such as /dev/shm. If you don't have it, you can probably use /tmp, but make sure it's not a journalling filesystem like ext3 or reiserfs - those will cause problems.
If you already have jackd installed do
jackd --version jackd version 0.112.0 tmpdir /dev/shm protocol 23
to see which temporary directory is currently in use - it's easiest to just re-use it.
$ cd jack $ ./autogen.sh $ ./configure --prefix=YOUR_PREFIX --with-default-tmpdir=/dev/shm [copious output]
At the end of the configure phase you should see something like this:
jack-audio-connection-kit 0.111.0 : | Build with ALSA support............................... : true | Build with old FireWire (FreeBob) support............. : true | Build with new FireWire (FFADO) support............... : true | Build with OSS support................................ : true | Build with Sun audio support.......................... : false | Build with CoreAudio support.......................... : false | Build with PortAudio support.......................... : false | Build with NetJack support............................ : true ...
If the output indicates 'false' for FireWire (FFADO) support, there are two options:
- You did install ffado into /usr/local but pkg-config only checks /usr/lib/pkgconfig. Try to run the above as "PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure"
- there is a problem with your libffado installation. In this case, fix your libffado installation first.
Now we can proceed to the make & make install steps:
$ make [more output]
As root:
$ make install
It is a good idea to run
$ ldconfig
(as root also) to update the shared library cache.
You should have it all now.
