2009-06-12 06:15:52 -04:00
|
|
|
Installation instructions for forked-daapd
|
|
|
|
------------------------------------------
|
|
|
|
|
|
|
|
Required tools:
|
|
|
|
- ANTLR v3 is required to build forked-daapd, along with its C runtime
|
2010-06-24 12:31:03 -04:00
|
|
|
(libantlr3c). Use at least version 3.1.3 of ANTLR v3 and the matching
|
|
|
|
C runtime version.
|
2009-06-12 06:15:52 -04:00
|
|
|
|
2010-01-10 05:27:19 -05:00
|
|
|
- Java runtime: ANTLR is written in Java and as such a JRE is required to
|
|
|
|
run the tool. The JRE is enough, you don't need a full JDK.
|
|
|
|
|
2009-12-20 08:35:57 -05:00
|
|
|
- autotools: autoconf 2.63+, automake 1.10+, libtool 2.2. Run autoreconf -i
|
2009-12-13 03:51:48 -05:00
|
|
|
at the top of the source tree to generate the build system.
|
|
|
|
|
2010-07-17 01:54:58 -04:00
|
|
|
- gettext: libunistring requires iconv and gettext provides the autotools
|
|
|
|
macro definitions for iconv.
|
|
|
|
|
2010-01-05 12:27:30 -05:00
|
|
|
- pkg-config
|
|
|
|
|
2009-06-12 06:15:52 -04:00
|
|
|
The configure script will look for a wrapper called antlr3 in the PATH to
|
|
|
|
invoke ANTLR. If it doesn't exist, it'll try to invoke ANTLR directly with
|
|
|
|
'java org.antlr.Tool'; make sure your CLASSPATH is set properly, and if it
|
|
|
|
doesn't work, just create the wrapper somewhere in your PATH.
|
|
|
|
|
2010-04-04 08:35:29 -04:00
|
|
|
System-specific requirements:
|
2010-01-10 05:27:19 -05:00
|
|
|
- Linux:
|
|
|
|
+ glibc 2.9+ (for signalfd)
|
2010-04-04 08:35:29 -04:00
|
|
|
+ libasound (ALSA sound support - or you can use OSS4)
|
|
|
|
- FreeBSD:
|
|
|
|
+ OSS4 sound support
|
2010-06-21 11:50:09 -04:00
|
|
|
+ libiconv
|
2010-01-10 05:27:19 -05:00
|
|
|
|
|
|
|
General libraries:
|
2009-06-12 06:15:52 -04:00
|
|
|
- Avahi client libraries, 0.6.24 minimum
|
2010-04-30 13:20:28 -04:00
|
|
|
- sqlite3 3.5.0+ with update notify API enabled
|
2009-06-12 06:15:52 -04:00
|
|
|
- ffmpeg
|
|
|
|
- confuse
|
|
|
|
- libevent 1.4+
|
|
|
|
- libavl
|
|
|
|
- MiniXML
|
2010-02-05 12:38:39 -05:00
|
|
|
- gcrypt 1.2.0+
|
2010-05-04 06:03:58 -04:00
|
|
|
- zlib
|
2010-08-29 09:58:22 -04:00
|
|
|
- libunistring 0.9.3+
|
2009-12-13 03:55:19 -05:00
|
|
|
- libflac (optional - FLAC support)
|
|
|
|
- taglib (optional - Musepack support)
|
2009-12-13 03:54:04 -05:00
|
|
|
- libplist 0.16+ (optional - iTunes XML support)
|
2009-06-12 06:15:52 -04:00
|
|
|
|
|
|
|
libavl is not the GNU libavl. There doesn't seem to be an upstream website
|
|
|
|
anymore, but you can fetch it from any Debian mirror for instance (it'll be
|
|
|
|
in /debian/pool/main/liba/libavl).
|
|
|
|
|
2010-04-30 13:20:28 -04:00
|
|
|
sqlite3 needs to be built with support for the update notify API; this isn't
|
|
|
|
always the case, so you may need to rebuild sqlite3 to enable the update
|
|
|
|
notify API. See the sqlite3 doc and look for SQLITE_ENABLE_UPDATE_NOTIFY.
|
|
|
|
|
2009-06-12 06:15:52 -04:00
|
|
|
FLAC and Musepack support are optional. If not enabled, metadata extraction
|
|
|
|
will fail on these files.
|
|
|
|
|
2009-11-28 05:01:22 -05:00
|
|
|
Support for iTunes Music Library XML format is optional. Use --enable-itunes
|
|
|
|
to enable this feature.
|
|
|
|
|
2009-06-12 06:15:52 -04:00
|
|
|
Recommended build settings:
|
|
|
|
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-flac --enable-musepack
|
|
|
|
|
|
|
|
After installation, edit the configuration file, /etc/forked-daapd.conf and
|
|
|
|
adjust the values at your convenience.
|
|
|
|
|
|
|
|
forked-daapd will drop privileges to any user you'll specify in the
|
|
|
|
configuration file if it's started as root. It's recommended to create a
|
|
|
|
dedicated user without login privileges. That user must have read permissions
|
|
|
|
on your library.
|
|
|
|
|
|
|
|
You'll need an init script if you want to start forked-daapd at boot. A simple
|
|
|
|
init script will do, forked-daapd daemonizes all by itself and creates a
|
|
|
|
pidfile under /var/run.
|