Over the last several releases of Ubuntu, mt-daapd's transcoding has not worked for me out of the box. I had always been able to find a workaround (for example, for 9.04, see this post); however, 9.10 has me totally stumped.
In searching for a replacement, I came across forked-daapd (see also this firefly forum post). It does what mt-daapd does minus the web interface. I never used mt-daapd's web interface, so no loss for me there.
Note: The author has made AMD 64-bit packages available: forked-daapd and antlr3. If you're on i386 like me, keep reading.
Installing forked-daapd was a challenge. Thankfully, the author was kind and patient enough to help me get it up and running. Here's what it took.
Grab the forked-daapd package:
Read the README and INSTALL files so you know what's up. Panic when you read something about antlr3, discover that the stock Ubuntu version is too old, and discover that it has something to do with java. Now relax, I'll walk you through it.
git clone git://git.debian.org/~jblache/forked-daapd.git
Make sure you have the other required libraries installed (and -dev variants):
- glibc 2.9+ (for signalfd)
- Avahi client libraries, 0.6.24 minimum
- libevent 1.4+
- libflac (optional)
- taglibc (optional)
- libplist 0.15+ (optional - iTunes XML support)
Get antlr3 packages
I first installed the antlr3 packages from the repositories. Then I got the antlr-3.1.3.jar (http://www.antlr.org/download/antlr-3.1.3.jar). Edit /usr/bin/antlr3 and in the CLASSPATH variable replace the path to the antlr-3.1.3.jar you downloaded. Don't worry about the stringtemplate.jar.
Grab the C libraries for antlr3 at http://antlr.org/download/C (3.1.3). Build and install with the typical ./configure --prefix=/usr ; make ; sudo make install.
Configure and build forked-daapd
Assuming you got the required libraries and antlr3 packages installed, you're ready to configure and build forked-daapd. Enter its directory and run to build the configure script. I ran the configure script as recommended in the INSTALL:
. Your configure options might be different depending on your needs. Run `make` and `sudo make install`.
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-flac --enable-musepack
Add user daapd
Forked-daapd will run with user daapd. I had to create the user on my system:
I also had to make sure user daapd could read my music library. I added daapd to the group music, which has read access to my library:
sudo useradd -r daapd
(That last line just to verify.)
sudo usermod -G music daapd
Point to your library in the conf file
The conf file is /etc/forked-daapd.conf. There's not much to configure, just point to your music library under "Directories to index."
Create directory for database
The database will live in /var/cache/forked-daapd so create that directory and make daapd the owner:
Fire up forked-daapd with:
sudo mkdir /var/cache/forked-daapd
sudo chown daapd /var/cache/forked-daapd
If you run into issues with your Soundbridge or other device not being able to see the server, check out this post to learn how to add the daap service to avahi. Mine was a holdover from struggling with mt-daapd.