Darkland | net

Compiling And Installing mpd 0.19.18 & ncmpcpp 0.7.5

Published on 31 December, 2015 by Amanda

Note: Attached debs are 64 bit and built against Linux Mint 17.3 (Ubuntu 14.04 LTS), but processes are the same for 32 bit machines.

mpd: http://www.musicpd.org/download.html
ncmpcpp: https://github.com/arybczak/ncmpcpp

  • Development packages of all audio formats you want to be able to play must be installed before running ./configure
    Note: libboost-filesystem1.55-dev libboost-locale1.55-dev libboost-program-options1.55-dev libboost-regex1.55-dev libboost-thread1.55-dev libboost1.55-dev libfftw3-dev libfftw3-bin libmpdclient-dev libncurses5-dev are needed to compile ncmpcpp
  • ~$ sudo apt-get install libadplug-dev libao-dev libasound2-dev libaudiofile-dev libavahi-client-dev libboost-filesystem1.55-dev libboost-locale1.55-dev libboost-program-options1.55-dev libboost-regex1.55-dev libboost1.55-dev libbz2-dev libcdio-cdda-dev libcdio-dev libcdio-paranoia-dev libcurl4-openssl-dev libfaac-dev libfaad-dev libflac-dev libflac++-dev libfftw3-dev libfftw3-bin libfluidsynth-dev libgme-dev libid3tag0-dev libicu-dev libjack0 libjack-dev libmad0-dev libmadlib-dev libmp3lame-dev libmpcdec-dev libmpdclient-dev libmpg123-dev libmms-dev libmodplug-dev libncurses5-dev libnfs-dev libnfsidmap-dev libopenal-dev libopus-dev libopusfile-dev libpulse-dev libresample1-dev libroar-dev libsamplerate0-dev libshine-dev libshout3-dev libsidplay2-dev libsidplayfp-dev libsmbclient-dev libsndfile1-dev libsoxr-devlibsqlite3-dev libtwolame-dev libupnp-dev libvorbis-dev libwavpack-dev libwildmidi-dev libwrap0-dev libyajl-dev

  • Configure build environment, and compile and install package with checkinstall.
    Note:Remove any previous version of mpd (sudo apt-get remove mpd[*] or install will probably fail.
  • ~/build/mpd-0.19.18$ ./configure

  • checkinstall creates $HOME/build/mpd-0.19.18/mpd_0.19.18-1_amd64.deb

  • Configure, compile, and install ncmpcpp. It appears that autogen.sh accepts the same command line arguments as ./configure, but I'll still use ./configure here to pass compile flags to ensure things work.
  • ~/build/ncmpcpp-master$ ./autogen.sh

  • checkinstall creates $HOME/build/ncmpcpp-master/ncmpcpp_0.7.5-1_amd64.deb

  • Start mpd and run ncmpcpp (See also MPD/NCMPCPP Launch Script)
  • #!/bin/bash
    if ps aux | grep -v grep | grep mpd 1> /dev/null
         printf "Launching ncmpcpp.\n\n"
    	sleep 0.5s
            exit 0
       printf "Loading mpd daemon.\nLaunching ncmpcpp.\n\n"
    		rm $HOME/.mpd/mpd.log 1> /dev/null
    		touch $HOME/.mpd/mpd.log 1> /dev/null
         	/usr/bin/mpd && /usr/bin/ncmpcpp
    	exit 1