Dependencies

Like all successful open source projects, FFADO makes extensive use of third-party code, instead of re-inventing the wheel. Until the major distributions have picked up FFADO, this means some minor extra hassle for you, the user, to provide those dependencies. But remember: the developer time saved by re-using existing code is spent on improving FFADO!

FFADO depends on the packages listed in the source:trunk/libffado/README file that's part of the source tarball or repository, at the version indicated or any later one. First, check if your distribution already provides them - it is always easier to install a package than to build the software from source. But if your distro packages are too old, you will have to bite the bullet and build them yourself.

Note

Most distros split packages in runtime packages (needed to use precompiled software) and developer packages (needed to build software from source), usually named "FOO-dev" or "FOO-devel". For build dependencies, be sure to always install both!

Other things you need:

  • a C++ compiler like gcc (the GNU compiler collection, contains g++, the GNU C++ compiler)
  • Python, a programming language used for FFADO's mixers
  • scons, a software build tool
  • subversion, a source code management system (only if you install from FFADO svn, not needed if you download a release tarball)
  • a kernel at version 2.6.21 or later, if you want to use the streaming system (the device control parts will work fine with older kernels)

For trunk only if you want to compile ffado-dbus-server:

  • dbusxx-xml2cpp somewhere in your path
  • libconfig++8 or higher

Of course, there are hundreds of other dependencies, all the way down to a kernel, a shell, a computer (!), electricity, and so on. Please use common sense when your package manager or the build script complains about missing stuff.

Note

Many distributions provide meta-packages for general software development, or more specific ones for C++ and Python development. Be sure to install those.

Distribution-specific information

Sometimes the names of the packages in your distribution differ a bit from the names given above, which can make finding them a little tricky. Below is a list of some package names for the FFADO dependencies on various distributions. Please contribute to this list by adding a wiki subpage with the package names for your favourite distro.