Installation Guide - Compiling from SVN (Feisty)

For generic installation documentation, please see http://subversion.ffado.org/wiki/InstallingFfadoFromSource.

Below are only those issues that are specific to Ubuntu Feisty.

  • 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.

Comments

This article is pretty much copy and paste from other sources. So far I haven't actually made libffado compile yet. Getting this error
g++ -g -O2 -Wall -DDATADIR=\"/usr/local/share\" -O2 -DENABLE_BEBOB -o .libs/bridgeco-downloader bridgeco-downloader.o ../src/.libs/libffado.so -lpthread -D__LIBTOOL_IS_A_FOOL__
../src/.libs/libffado.so: undefined reference to `raw1394_read_cycle_timer'

raw1394_read_cycle_timer was added recently in the SVN version of libraw1394. If the build fails with this error, it means that the libraw1394 version it uses is not the most recent one. It might be that you have multiple versions of libraw1394 installed.

thanks pieter, multiple versions of libraw1394 was indeed my problem. I found that using checkinstall when building the libraw1394 and setting the package name to the same that Feisty uses (libraw1394-8) made it install correctly. I've updated the guide and I can now build and install libffado on my system :) (there's also a feisty .deb for libraw1394 that I could share if it would be helpful)

It could be marvellous pieter. A .deb if it could be, please.

Hello - I'm interested in beta testing the reverse-engineered MOTU mkII drivers. I bought the MOTU a long time ago and thought it might be fun to get it working in Linux. When compiling, I'm seeing the same issue as above:

g++ -o support/dbus/ffado-dbus-server support/dbus/ffado-dbus-server.o support/dbus/controlserver.o -Lsrc -Lexternal/dbus -L/lib64 -lffado -ldbus-c++ -lexpat -lm -ldbus-1 -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lsigc-2.0 -lglib-2.0
src/libffado.so: undefined reference to `raw1394_read_cycle_timer'
collect2: ld returned 1 exit status
scons: *** [support/dbus/ffado-dbus-server] Error 1
scons: building terminated because of errors.

I've searched the filesystem for another version of libraw1394 and can't find where the conflict might be happening. The package manager indicates "1.3.0-7.fc9 (x86_64)" and I can even see the new raw1394_read_cycle_timer reference in the include file.
Tried the "--debug=findlibs" scons option but the output doesn't mention anything about libraw1394 before exiting with the error so I'm not sure if it's finding the .so at all or just finding the wrong one... If it couldn't find lib1394 at all I would expect a different message, but not 100% sure about that. So then I tried getting the latest libraw1394 from svn and made various attempts at modifying the SConscript file to point to it (same message).

I'm trying to build on Fedora 9 (x86_64). I've got beginner-level knowlege of C, most of which I forgot a long time ago and a lot of experience using linux, but new to scons. So I know I'm probably just missing something obvious. If anyone has any suggestions let me know, thanks...

ubuntu studio gutsy already contains suitable versions of libiec61883, libavc1394, libxml++-2.6 and alsa. The ubuntu studio stock RT kernel is OK also.

libraw1394 - there's a 1.3 tarball, no need for svn
after building libffado I built jack from latest release to see "firewire" device.