Version 4 (modified by nettings, 15 years ago)
--

Resolving dependencies on Ubuntu systems

One of the easiest ways to obtain all packages necessary to build a certain package is using the build-dep feature of apt-get:

$ sudo apt-get build-dep package_name

However since there is no libffado in the repository yet, this won't work for FFADO. But applying it to libfreebob can already help a lot:

$ sudo apt-get build-dep libfreebob

This will install most of what is needed to build libffado.

Feisty

First of all install the UbuntuStudio packages. Then install a realtime-enabled kernel, provided at https://wiki.ubuntu.com/RealTime (UbuntuStudio installs only a low latency kernel for now). Make sure that your user is a member of the audio group.

more on realtime priorities and tuning at http://tapas.affenbande.org/wordpress/?page_id=40.

The following section has been taken from the website docs as submitted by glurgle on Sat, 05/12/2007 - 22:56.. Please help integrating it into our existing docs structure.

  • db2ps (for libraw1394, provided by docbook-utils) $ sudo apt-get install subversion libiec61883-0 libiec61883-dev libavc1394-0 libavc1394-dev libxml++2.6c2a libxml++2.6-dev liblo0 liblo0-dev docbook-utils
  • libraw1394 >= 1.3.0 (=> SVN) svn co svn://svn.linux1394.org/libraw1394/trunk libraw1394-svn $ cd libraw1394-svn $ autoreconf -f -i -s $ ./configure --prefix=YOUR_PREFIX $ make $ sudo make install
  • kernel >= 2.6.21 if you want to use the streaming system. The device control parts will work fine with older kernels. Ubuntu Feisty contains a patched 2.6.20 kernel that should work as well.

Gutsy (7.10)

Dependency Runtime package Build package
libxml++2 libxml++2.6c2a libxml++2.6-dev
libraw1394 DevelopmentReleases (libraw1394-8) DevelopmentReleases (libraw1394-dev)
libiec61883 libiec61883-0 libiec61883-dev
libavc1394 libavc1394-0 libavc1394-dev
dbus-1 libdbus-1-3 libdbus-1-dev
expat libexpat1 libexpat1-dev
Qt libqt3-mt libqt3-mt-dev
PyQt? python-qt3 pyqt-tools
dbus-python python-dbus
jackd libjack0 libjack-dev
qjackctl qjackctl
scons scons

To install the package use:

$ sudo apt-get install package_name

For multiple packages use:

$ sudo apt-get install package_name1 package_name2

For your convenience, here's the commands that will install everything you need for a good build environment (don't copy the $):

$ sudo apt-get build-dep libfreebob
$ sudo apt-get install libtool autoconf automake1.7 automake1.8 automake1.9 gcc g++ libc6-dev
$ sudo apt-get install libxml++2.6-dev libdbus-1-dev libexpat1-dev libqt3-mt-dev pyqt-tools python-qt3 python-dbus

Note that by installing the development packages (*-dev), the runtime packages are automatically included.

Ubuntu 8.04.

The following section has been taken from the website docs as submitted by nilux on Wed, 06/18/2008 - 11:37. Please help integrating it into our existing docs structure.

Open a terminal and install the appropriate dependencies :
$ sudo apt-get install scons libiec61883-0 libiec61883-dev libavc1394-0 libavc1394-dev libxml++2.6c2a libxml++2.6-dev liblo0 liblo0-dev docbook-utils libexpat-dev libdbus-1-dev pyqt-tools python-dbus python-qt3

Compiling errors
FFADO should compile well, but the mixer might not : if you get a message telling that 'pyuic', and python-modules 'dbus' and 'qt' could not be found, here is how you can work around this issue :

Open the SConstruct file at the root of the FFADO sources directory with your favorite text editor. Look for this section :
# PyQT checks
if conf.CheckForApp( "which pyuic" ) and conf.CheckForPyModule( 'dbus' ) and conf.CheckForPyModule( 'qt' ):
env['PYUIC'] = True

if conf.CheckForApp( "xdg-desktop-menu --help" ):
env['XDG_TOOLS'] = True
else:
print """
I couldn't find the program 'xdg-desktop-menu'. Together with xdg-icon-resource
this is needed to add the fancy entry to your menu. But the mixer will be installed, you can start it by executing "ffadomixer".
"""

else:
print """
I couldn't find all the prerequisites ('pyuic' and the python-modules 'dbus' and
'qt', the packages could be named like dbus-python and PyQt) to build the mixer.
Therefor the mixer won't get installed.
"""

and replace it with :
env['PYUIC'] = True

Be sure to remove any spaces or indents at the beginning of this line, or the scons script will be broken.

Building JACK
To do so, you first need to install the prerequisites :
$ sudo apt-get install subversion libtool automake

acspike noted on Thu, 07/03/2008 - 22:32 that you need to add "build-essential" to the list of dependencies.