owntone-server/INSTALL

76 lines
2.7 KiB
Plaintext

Installation instructions for forked-daapd
------------------------------------------
Required tools:
- ANTLR v3 is required to build forked-daapd, along with its C runtime
(libantlr3c). Use at least version 3.1.3 of ANTLR v3 and the matching
C runtime version.
- 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.
- autotools: autoconf 2.63+, automake 1.10+, libtool 2.2. Run autoreconf -i
at the top of the source tree to generate the build system.
- gettext: libunistring requires iconv and gettext provides the autotools
macro definitions for iconv.
- pkg-config
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.
System-specific requirements:
- Linux:
+ glibc 2.9+ (for signalfd)
+ libasound (ALSA sound support - or you can use OSS4)
- FreeBSD:
+ OSS4 sound support
+ libiconv
General libraries:
- Avahi client libraries, 0.6.24 minimum
- sqlite3 3.5.0+ with update notify API enabled
- ffmpeg
- confuse
- libevent 1.4+
- libavl
- MiniXML
- gcrypt 1.2.0+
- zlib
- libunistring
- libflac (optional - FLAC support)
- taglib (optional - Musepack support)
- libplist 0.16+ (optional - iTunes XML support)
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).
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.
FLAC and Musepack support are optional. If not enabled, metadata extraction
will fail on these files.
Support for iTunes Music Library XML format is optional. Use --enable-itunes
to enable this feature.
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.