summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 29a23d36183f7d7c93d00c542263b2890c74face (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
                       Music Player Daemon (MPD) - INSTALL


Introduction
------------

This document is a very small amount of documentation about what is needed to 
install MPD.  If more information is desired, read the user manual:

 http://www.musicpd.org/doc/user/

Dependencies
------------

gcc 4.6 or later - http://gcc.gnu.org/
clang 3.2 or later - http://clang.llvm.org/
Any other C++11 compliant compiler should also work.

Boost 1.46 - http://www.boost.org/

GLib 2.28 - http://www.gtk.org/
General-purpose utility library.


Optional Output Dependencies
----------------------------

You will need at least one of these to compile MPD.

Most of these are available as packages on major distributions.  Be sure to
install both the library package as well as the development package.

AO - http://www.xiph.org/ao/
A portable library that abstracts many audio output types as one API.  Should
be used only if there is no native plugin available or if the native plugin
doesn't work.  You will need libao.

ALSA - http://www.alsa-project.org/
The Advanced Linux Sound Architecture.  Recommended audio output if you use
Linux.  You will need libasound.

FIFO
This is a mostly undocumented, developer plugin to transmit raw data.

OSS - http://www.opensound.com
Open Sound System.

PulseAudio - http://www.pulseaudio.org/
An advanced sound daemon.  You will need libpulse.

JACK - http://www.jackaudio.org/
A low-latency sound daemon.

libshout - http://www.icecast.org/
For streaming to an Icecast or Shoutcast server.
You also need an encoder: either libvorbisenc (ogg), or liblame (mp3).

OpenAL - http://kcat.strangesoft.net/openal.html
Open Audio Library


Optional Input Dependencies
---------------------------

You will need at least one of these to compile MPD.

Most of these are available as packages on major distributions.  Be sure to
install both the library package as well as the development package.

MAD - http://www.underbit.com/products/mad/
For MP3 support.  You will need libmad, and optionally libid3tag if you want
ID3 tag support.

libmpg123 - http://www.mpg123.de/
Alternative for MP3 support.

Ogg Vorbis - http://www.xiph.org/ogg/vorbis/
For Ogg Vorbis support.  You will need libogg and libvorbis.

libopus - http://www.opus-codec.org/
Opus codec support

FLAC - http://flac.sourceforge.net/
For FLAC support.  You will need version 1.2 or higher of libFLAC.

Audio File - http://www.68k.org/~michael/audiofile/
For WAVE, AIFF, and AU support.  You will need libaudiofile.

FAAD2 - http://www.audiocoding.com/
For MP4/AAC support.

libmpcdec - http://www.musepack.net/
For Musepack support.

MikMod - http://mikmod.raphnet.net/
For MOD support.  You will need libmikmod.

libavcodec, libavformat (ffmpeg or libav) - http://ffmpeg.mplayerhq.hu/ http://libav.org/
Multi-codec library.

libsidplay2 - http://sidplay2.sourceforge.net/
For C64 SID support.

libfluidsynth - http://fluidsynth.resonance.org/
For MIDI support.

libwildmidi 0.2.3 - http://wildmidi.sourceforge.net/
For MIDI support.

libsndfile - http://www.mega-nerd.com/libsndfile/
WAVE, AIFF, and many others.

libwavpack - http://www.wavpack.com/
For WavPack playback.

libadplug - http://adplug.sourceforge.net/
For AdLib playback.

despotify - https://github.com/SimonKagstrom/despotify
For Spotify playback.


Optional Miscellaneous Dependencies
-----------------------------------

Avahi - http://www.avahi.org/
For Zeroconf support.

libsamplerate - http://www.mega-nerd.com/SRC/
For advanced samplerate conversions.

libcurl - http://curl.haxx.se/
For playing HTTP streams.

libmms - https://launchpad.net/libmms
For playing MMS streams.

SQLite - http://www.sqlite.org/
For the sticker database.

libcdio - http://www.gnu.org/software/libcdio/
For playing audio CDs.

libsystemd-daemon - http://freedesktop.org/wiki/Software/systemd/
For systemd activation.


pkg-config
----------

MPD uses pkg-config to locate most external libraries.  If you do not
have pkg-config, or if your version of the library does not ship the
".pc" file, you have to provide the library's build options in
environment variables.  These variables are documented in "./configure
--help".  Example:

 FLAC_CFLAGS=-I/usr/include/FLAC FLAC_LIBS=-lFLAC ./configure


Download
--------

Get the latest release from of MPD from <http://www.musicpd.org/>.

Compile
-------

1) unpack the archive

$ tar xf mpd-x.x.x.tar.xz

2) change to directory created

$ cd mpd-x.x.x

3) Run configure script (this will determine what dependencies you have)

$ ./configure

4) Compile

$ make

Install (Optional)
-------

(as root)
$ make install

Run
---

1) run mpd:

$ mpd <config file>

First default is $XDG_CONFIG_HOME/mpd/mpd.conf then ~/.mpdconf then
~/.mpd/mpd.conf then /etc/mpd.conf. If neither of these exist a mpd
configuration file must be specified at runtime.

A sample config file is included with the source of MPD, mpdconf.example.

The first time MPD is run it will attempt to discover all music in your
music root, recursively. This can be affected by the symbolic link 
options specified in the example mpd.conf.

Using MPD
---------

You can download many different interfaces for MPD at 

 http://www.musicpd.org/clients/