Compiling mpd

From The Neuros Technology Wiki

Jump to: navigation, search

Note: Further audio efforts on the OSD will most likely use XMMS2 instead of MPD for all its audio needs. See the xmms2 site for more details on xmms2 building on the OSD. Also check [Xmms2 in the Projects Page] for more info.


As I posted on OdNT a while back, you can use your OSD as a music server/player with mpd. Mpd is short for Music Player Daemon. It will run as a server on the OSD and play music from a playlist that you can configure by connecting remotely with an mpd client.

To follow this project you will need:

  • an OSD that boots from NFS
  • libao + may1937's patch
  • The Xiph kit: libogg + tremor
  • mpd sources from Subversion
  • be sure to have done "source neuros-bsp/neuros-env" from the shell you're going to use

For instructions on compiling libao see Hostile's tutorial.

To get the Xiph sources I recommend using the latest from Subversion.

Cross-compile these in that order and intall them to the OSD's filesystem (do this for both).

./autogen.sh --host=arm-linux
make
DESTDIR=$INSTALL_MOD_PATH make install

To get the mpd sources, I again recommend using the code in Subversion (at the time I did this with may1937, the latest release did not support libao).

svn co https://svn.musicpd.org/mpd/trunk/

Then cross-compile.

./configure --host=arm-linux
make
DESTDIR=/srv/neuros-osd-rootfs make install

After compiling, find the mpd.conf example file in the mpd source tree, edit it for using libao as audio output, and put your conf file in /etc/mpd.conf.

Umm... if this doesn't work complain to me (sitwon/sitwonade/xoring) or may1937 or anyone on #neuros that will listen to you. I wrote this pretty much from memory and my memory is pretty faulty so don't be too surprised if I got something totally wrong. Just let me know and I'll fix it. Or you can fix it, it is a wiki after all. I don't have my OSD with me to test these instructions so I can't guarantee they work.

If you've gotten Scratchbox working you can try to use that to cross-compile. Though, as of this writting, Xorlev has reported some difficulty with that approach.

Personal tools