jeudi 10 septembre 2020

Music Player Daemon build on Raspberry Pi

Build MPD from sources on Raspberry Pi 

Original post here:

Get the sources:

git clone https://github.com/MusicPlayerDaemon/MPD.git 
cd MPD 

Get all necessary dependencies

sudo apt-get install g++ \
  libpcre3-dev \
  libmad0-dev libmpg123-dev libid3tag0-dev \
  libflac-dev libvorbis-dev libopus-dev \
  libadplug-dev libaudiofile-dev libsndfile1-dev libfaad-dev \
  libfluidsynth-dev libgme-dev libmikmod2-dev libmodplug-dev \
  libmpcdec-dev libwavpack-dev libwildmidi-dev \
  libsidplay2-dev libsidutils-dev libresid-builder-dev \
  libavcodec-dev libavformat-dev \
  libmp3lame-dev libtwolame-dev libshine-dev \
  libsamplerate0-dev libsoxr-dev \
  libbz2-dev libcdio-paranoia-dev libiso9660-dev libmms-dev \
  libzzip-dev \
  libcurl4-gnutls-dev libyajl-dev libexpat-dev \
  libasound2-dev libao-dev libjack-jackd2-dev libopenal-dev \
  libpulse-dev libshout3-dev \
  libsndio-dev \
  libmpdclient-dev \
  libnfs-dev libsmbclient-dev \
  libupnp-dev \
  libavahi-client-dev \
  libsqlite3-dev \
  libsystemd-dev libwrap0-dev \
  libgtest-dev \
  libboost-dev \
  libicu-dev \
  libgcrypt-dev \
  libsidplayfp-dev

Install messon and ninja tools:

sudo apt-get install python3 python3-pip ninja-build
sudo pip3 install meson 

Stop mpd service:

sudo service mpd stop 

Compile mpd:

meson . output/release --buildtype=debugoptimized -Db_ndebug=true
meson configure output/release
ninja -C output/release
sudo ninja -C output/release install  
  • mpd is in ./output/release
  • service files are ./output/release/systemd
  • use the mpdconf.example in ./doc for configuration

Workarrounds and errors:

mpd binary is located in /usr/local/bin and this mpd binary try to open mpd.conf located in /usr/local/etc NOT in usual folder /etc

So, you have to link these file and folder:

sudo mv /usr/bin/mpd /usr/bin/mpd_old
sudo ln -s /usr/local/bin/mpd /usr/bin/mpd

Check if folder /usr/local/etc already exists:

ls /usr/local

If an etc folder exists, rename it to etc_bak

sudo mv /usr/local/etc /usr/local/etc_old

Link etc folder:

sudo ln -s /etc /usr/local

move old etc files to linked folder:

sudo mv /usr/local/etc_old/* /usr/local/etc

Aucun commentaire:

Enregistrer un commentaire