Linux Audio: A Guide For Beginner and Beyond/Appendix-List of Dependencies and Compiling Tips

From Wikibooks, open books for an open world
Jump to navigation Jump to search

This is a list of many of the widely used software packages. Mainly provided for those who compile their own packages, it lists required packages and various notes on compiling, although other users may find this information useful as well.

Some General Troubleshooting Tips

  • As with compiling and installing any software, running configure and make as a non-root user is recommended.
  • A number of libraries rely on pkg-config, so check to make sure your PKG_CONFIG_PATH contains the right path to dependencies.

Advanced Linux Sound Architecture (ALSA)[edit | edit source]

alsa-driver[edit | edit source]

alsa-lib[edit | edit source]

alsa-utils[edit | edit source]

Ardour[edit | edit source]

Dependencies[edit | edit source]

  • Boost C++ libraries
  • fftw3 (without --enable-float)
  • gtk2 (confirm this package name)
  • scons

Optional:

  • fftw3 (with --enable-float)
    • (Note to self: Confirm this)
  • (Note to self: Double check dependencies needed for VST support)

Compiling Tips[edit | edit source]

Notes:

  • The boost and gtk2 libraries are included in most sane linux distributions, so there is little chance you will need to worry about these. At most, it will involve installing a -devel package or two.
  • The non float-enabled fftw3 is required for Ardour's internal libsndfile library.
  • (The optional float-enabled fftw3f is required for the optional FFT analysis window feature.)

Audacity[edit | edit source]

Dependencies[edit | edit source]

Compiling Notes[edit | edit source]

DSSI[edit | edit source]

Dependencies[edit | edit source]

Compiling Notes[edit | edit source]

fftw3[edit | edit source]

The Fastest Fourier in the West

A very well optimized FFT library used in a lot of packages for performing DSP routines. *NOTE* There is a version 2 of the library as well, which is incompatible with version 3.

Dependencies[edit | edit source]

  • None

Compiling Tips[edit | edit source]

Flags:

  • --enable-shared - disabled by default, this enables the shared library to be built, which is required by most software
  • --enable-single - same as --enable-float
  • --enable-float - this forces the library to be built with single-precision floating point numbers, and the library names beginning with fftw3 will begin with fftw3f.

Notes:

Some software require the fftw3 version of the library, and some require the fftw3f version. This may be confusing to users who are compiling this for the first time. If another software fails to detect this library, double check which version you have installed. Since a lot of software documentation does not specify which, it may be a good idea just to install both from the start and avoid confusion later.

FFAD (formerly FreeBoB)[edit | edit source]

Free Firewire Audio Drivers

Formerly the FreeBob project (for support of BridgeCo. BeBoB devices). A backend end driver for use with firewire audio interfaces.

Dependencies[edit | edit source]

  • libraw1394
  • libavc1394 (requires libraw1394)
  • libiec61883 (requires libraw1394)

Compiling Tips[edit | edit source]

FLAC[edit | edit source]

Dependencies[edit | edit source]

Optional:

  • libogg

Compiling Tips[edit | edit source]

This software should compile with little issue.

Note for those wishing to run the test suite, it takes a VERY long time. As a comparison, on 2.4GHz dual core system with 2GB of RAM, compiling the library takes less than a minute, but the test suite takes about 45 minutes.

jack-audio-connection-kit[edit | edit source]

The JACK Audio Connection Kit

Dependencies[edit | edit source]

  • FFAD (for IEEE1394 device support)

Compiling Tips[edit | edit source]

Flags:

  • --enable-dynsimd - Enables SIMD instructions, such as SSE. HIGHLY recommended for any user using a Pentium II or later compiler.
  • --with-default-tmpdir - Sets the default path for a shared memory directory.

Notes:

  • A note on using SSE, even though the configure script will add the -sse flag, SSE and above support will not be enabled. A way to check this, if you run the jackd server, it will explicitly output SSE, SSE2, or Enhanced3DNow! detected if found. Since a good deal of JACK is SSE optimized, your best bet is to just enable it from the start. The worst thing that could happen is an illegal instruction error if your processor does not support it, in which case you can disable it.
  • If the --with-default-tmpdir flag is not set, JACK will use /tmp, which is not present or not set as shared memory in some distributions. The JACK documentation recommends creating and entry in /etc/fstab for it, but for recent kernels and distributions, it may be simpler to set this to existing shared memory, such as /dev/shm.
    • Note: Some pre-compiled versions already set this for you. So, if you are upgrading from a previous version of JACK, make sure everything including the installation goes in the same place. The JACK developers advise against having more than one version installed to avoid possible breakage and general confusion.

JAMin[edit | edit source]

Dependencies[edit | edit source]

  • fftw3 (with --enable-float)

Compiling Tips[edit | edit source]

LADSPA[edit | edit source]

The Linux Audio Developer's Simple Plugin API

Dependencies[edit | edit source]

None

Compiling Tips[edit | edit source]

Installation requires not compiling at all, just copying src/ladspa.h from the source tree into your /usr/include directory.

Compiling the sample plugins is completely optional.

liblo[edit | edit source]

Dependencies[edit | edit source]

  • None

Compiling Tips[edit | edit source]

You should have little trouble compiling this package.

  • Note: While out of the scope of this book, liblo can use IPv6, which has been known to be rather unstable on some older systems. This shouldn't be a problem on any recent kernel or distribution.

liblrdf[edit | edit source]

An XML Library

Dependencies[edit | edit source]

  • Raptor

Compiling Tips[edit | edit source]

You should have little trouble compiling this package.

libsamplerate[edit | edit source]

Dependencies[edit | edit source]

  • fftw3 (without --enable-float)

Compiling Tips[edit | edit source]

libsndfile[edit | edit source]

Dependencies[edit | edit source]

Optional:

  • FLAC (version 1.1.2 - see below)

Compiling Tips[edit | edit source]

Notes:

The current version of libsndfile requires version 1.1.2 of FLAC. A note to those who like to use the most recent versions of software, libsndfile will NOT compile with FLAC versions 1.1.3, 1.1.4 or later! This is due to the FLAC library changing the names of some key functions in the stream encoder. While designed to be easier to use, libsndfile has not been updated to use these new functions yet.

Rosegarden[edit | edit source]

Dependencies[edit | edit source]

  • CMake
  • QT3

Optional:

  • LIRC

Compiling Notes[edit | edit source]