TUTORIAL - Update to MPD Version 0.18.9

Thanks Melomane for making it a little more friendly and easy to follow for someone with limited Linux know-how. I hope you dont mind if I merge parts of your post into the tutorial :slight_smile:

Thank you very much for your help!!

however, another problems here, after I installed the compilation tool and after I execute the “./configure” the following message shown:-

/root/temp/mpd-0.18.8/missing: Unknown --is-lightweight' option Try /root/temp/mpd-0.18.8/missing --help’ for more information
configure: WARNING: ‘missing’ script is too old or missing
.
.
.
checking for GLIB… configure: error: GLib 2.28 is required

then execute “make”

root@volumio:~/temp/mpd-0.18.8# make
make: *** No targets specified and no makefile found. Stop.

Could you please help me for the problem??

Thanks again. :wink:

P.S. I’m using Beaglebone Black, is that the problem? and I already fixed the system clock problem.

Hi Will,
I am not familiar with beaglebone, but can you try this?

apt-get update
apt-get install build-essential gcc automake1.9 libtool flex bison gdb

Hi dakku,

Thanks for your reply, I had tried “apt-get install build-essential gcc automake1.9 libtool flex bison gdb” but can’t solve my problem…

“checking for GLIB… configure: error: GLib 2.28 is required”

Further update,

After I tried to update my Raspberry Pi’s MPD, everything go smooth. Thanks for Dakku’s & Melomanes’s effort!!! :smiley:

The problem of Beaglebone Black should be start at the “sh autogen.sh” which can’t function normally… any beagle bone black user can help?

Thanks
Will

A few annotations…

You should mpd stop again. :wink:
(…)

As have seen (post #2 ff.) this check can “fail”. I think, the shell checks /usr/local/bin first. My volumio is asleep now, but please check:

echo $PATH

The glib-version in the repository is obviously out-of-date for compiling newer mpds. Please check:

dpkg -l|grep glib|grep dev ii libglib2.0-dev 2.33.12+really2.32.4-5 armhf Development files for the GLib library
If an apt-get update doesn’t help you have to compile your own version or look for a backport-solution.

Does this cause any problems when using the Volumio web UI to make changes to mpd.conf ?

It shouldnt do, only thing we are changing is compiling a new binary and updating the path in the /etc/init.d/mpd script. I dont think anything is being changed in the /etc/mpd.conf file

I try, but shows error as blow, please kindly help.

[code]root@volumio:~/temp/mpd-0.18.8# apt-get install build-essential gcc automake1.9 libtool flex bison gdb
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following extra packages will be installed:
.
.
.

0 upgraded, 30 newly installed, 0 to remove and 15 not upgraded.
Need to get 29.9 MB of archives.
After this operation, 77.0 MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main flex armhf 2.5.35-10.1 [321 kB]
.
.
.
.
.
Get:30 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libtool armhf 2.4.2-1.1 [618 kB]
Fetched 29.9 MB in 51s (585 kB/s)
Inconsistency detected by ld.so: dl-version.c: 230: _dl_check_map_versions: Assertion `needed != ((void *)0)’ failed!
/usr/sbin/dpkg-preconfigure: 1: /usr/sbin/dpkg-preconfigure: Syntax error: “(” unexpected
dpkg: error: unable to access dpkg status area: Read-only file system
/usr/sbin/localepurge: 257: /usr/sbin/localepurge: Syntax error: Unterminated quoted string
W: Could not open file ‘/var/log/apt/term.log’ - OpenLog (5: Input/output error)
E: Problem executing scripts DPkg::Post-Invoke ‘if [ -x /usr/sbin/localepurge ] && [ $(ps w -p $PPID | egrep -c ‘(remove|purge)’) != 1 ]; then /usr/sbin/localepurge; else exit 0; fi’
E: Sub-process returned an error code
E: Sub-process /usr/bin/dpkg returned an error code (2)[/code]

Is your SD-Card write-protected?

Question, i have updated to the new MPD version, everything went well. I can control Volumio trough the webgui but with Mpad i cant connect to the server anymore?

did i do something wrong?

Can you please post your MPD config?

cat /etc/mpd.conf
Linux volumio 3.10.24+ #614 PREEMPT Thu Dec 19 20:38:42 GMT 2013 armv6l
                       ___
                      /\_ \                        __
         __  __    ___\//\ \    __  __    ___ ___ /\_\    ___
        /\ \/\ \  / __`\\ \ \  /\ \/\ \ /' __` __`\/\ \  / __`\
        \ \ \_/ |/\ \L\ \\_\ \_\ \ \_\ \/\ \/\ \/\ \ \ \/\ \L\ \
         \ \___/ \ \____//\____\\ \____/\ \_\ \_\ \_\ \_\ \____/
          \/__/   \/___/ \/____/ \/___/  \/_/\/_/\/_/\/_/\/___/

             Free Audiophile Linux Music Player - Version Beta1.1

                 C 2013 Michelangelo Guarise - Volumio.org


Volumio Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Feb 26 15:53:27 2014 from mac-mini-van-mac-mini.local
root@volumio:~# cat /etc/mpd.conf
###################################
# Auto generated mpd.conf file
# please DO NOT edit it manually!
# Use player-UI MPD config section
###################################

follow_outside_symlinks         "yes"
follow_inside_symlinks  "yes"
db_file         "/var/lib/mpd/tag_cache"
sticker_file    "/var/lib/mpd/sticker.sql"
log_file        "/var/log/mpd/mpd.log"
pid_file        "/var/run/mpd/pid"
music_directory         "/var/lib/mpd/music"
playlist_directory      "/var/lib/mpd/playlists"
state_file      "/var/lib/mpd/state"
user    "mpd"
bind_to_address         "any"
port    "6600"
zeroconf_enabled        "yes"
zeroconf_name   "volumio"
samplerate_converter    "Fastest Sinc Interpolator"
volume_normalization    "no"
audio_buffer_size       "2048"
buffer_before_play      "20%"
filesystem_charset      "UTF-8"
id3v1_encoding  "UTF-8"
gapless_mp3_playback    "yes"
auto_update     "no"
group   "audio"
max_connections "20"

decoder {
                plugin "ffmpeg"
                enabled "yes"
}

input {
                plugin "curl"
}

audio_output {

                 type           "alsa"
                 name           "Output"
                 device         "hw:0,0"
                 mixer_control  "PCM"
                 mixer_device   "hw:0"
                 mixer_index    "0"
                 dsd_usb        "yes"

}
root@volumio:~# temp# mpd -V

Strange thing is before i updated the local mpad database i colud control everything , but it wont update afterwards. For some reason mpad and also other client remotes cant connect to the database is my guess. With the web gui everything works ok.

I made a symlink to the new mpd did not change the startup script

Hi,

There is only ONE reason why I would go through the trouble of updating mpd and that is sheer sound quality.
Can anybody tell me if there is any difference in sound quality with the new mpd?

MPD ver 0.19 on the way? full changelog:
http://git.musicpd.org/cgit/master/mpd.git/plain/NEWS
MPC ver 0.26 on the way? full changelog
http://git.musicpd.org/cgit/master/mpc.git/plain/NEWS

I"m waking up this thread because I have troubles upgrading mpd to v0.19.5 on Volumio 1.5.

I’m unable to stream most Internet radios based on mpd v0.19.1. Therefore, I decided to update mpd. I followed the tutorial and various advices found in this thread. I had to sudo apt-get install libboost 1.50 to build mpd v0.19.5. Everything went fine but mpd refuses to start. I have an "illegal instruction’ error when trying to execute /usr/local/bin/mpd.

More surprising, I’ve got the same error message when executing /usr/bin/mpd. It looks like an updated mpd dependency got corrupted by one of the packages updated by sudo apt-get install.

Did anybody already see this error message ? Any idea what could be the root cause ?

Thx for your help.

I moved forward on this issue. First, I tried to run gdb but without success. gdb returns the same error message, ‘illegal instruction’. Quite worrying.

Then, I removed all the packages I previously installed to build MPD.

$ sudo apt-get remove build-essential gcc automake1.9 libtool flex bison gdb libboost1.50.0-all
$ sudo apt-get autoremove

Unfortunately, I still have ‘Illegal instruction’ when executing /usr/bin/mpd which was running fine before.

I guess I updated a (corrupt) dependency of MPD when I installed the build packages. From what I can see by googling, ‘Illegal instruction’ is a consequence of installing a package targeting the wrong architecture (not being ARMv6 or v7). It sometimes happens when the /etc/apt/sources.list file has some wrong entries.

Anybody aware of this kind of trouble with Volumio 1.5 ?

Use only jessie’s repo in /etc/apt/sources.list

some package in Volumio repo may have got corrupted