Compile mpd on CentOS 6.0 (Final) - libicu issue

Need help with MPD?
Post Reply
mathieuhays
Posts: 10
Joined: January 18th, 2015, 2:27 am
Location: London, UK
Contact:

Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by mathieuhays »

Hi !

I managed to install mpd using the command

Code: Select all

yum install mpd
Unfortunately the version provided didn't include some functions I use in MPD so I tried to compile the latest stable from source (0.19.8).

After downloading, uncompressing the archive and installing all the dependencies, I tried to run

Code: Select all

./configure
Everything went fine until it throws this error :

Code: Select all

checking for ICU... no
configure: error: libicu not found
When I run

Code: Select all

icu-config --version
it returns 4.2.1 so I guess the dependency is actually met.
I tried to install libicu and libicu-devel but it keeps throwing the same error.

I even tried disabling icu

Code: Select all

./configure --disable-icu
which makes the command work but then when I 'make' I've got the following error : http://pastebin.com/vcq4Pne8

I hope some of you guys can help me. I spent the whole afternoon on google searching for a fix but I didn't find anything. :(
Thanks

max
Forum team
Posts: 1127
Joined: January 15th, 2013, 3:43 pm

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by max »

The error message says it all. What part of it do you have difficulties understanding?

mathieuhays
Posts: 10
Joined: January 18th, 2015, 2:27 am
Location: London, UK
Contact:

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by mathieuhays »

I don't understand why icu is not detected even though I managed to get the version from the command line. (icu-config)
Is libicu required for MPD to work properly?

I eventually managed to compile MPD without icu by updating gcc but now MPD refuses to detect alsa even though I managed to trigger speaker-test with the mpd user.

Code: Select all

$ mpd --verbose --stdout --no-daemon
config_file: loading file /usr/local/etc/mpd.conf
path: SetFSCharset: fs charset is: UTF-8
db: Database corrupted
fatal_error: line 183: No such audio output plugin: alsa
My mpd user is part of the audio group.

MPD conf: http://pastebin.com/1c31r9Rc
When I set the group to audio in the conf, the mpd user triggers a permission error. (running as root triggers the same error as above)

Code: Select all

fatal_error: Failed to set group 63: Operation not permitted
Group id 63 being the audio group.

I keep checking google for potential fixes but I guess the fact that CentOs6 is getting quite old might not help in the process. (I kept having issues trying to compile the latest "stable" of nodejs or even to use yum :shock: ) I'm dreaming to switch to the latest ubuntu release but unfortunaly, as for now, I don't have a choice :| .

Thanks for your help ;)

max
Forum team
Posts: 1127
Joined: January 15th, 2013, 3:43 pm

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by max »

mathieuhays wrote:I don't understand why icu is not detected even though I managed to get the version from the command line. (icu-config)
But MPD does not use icu-config, as you can see in config.log.
Is libicu required for MPD to work properly?
Would there be an option to disable libicu if libicu were required for MPD to work properly? Apply simple logic.
fatal_error: line 183: No such audio output plugin: alsa
Again: the error message says it all. What part of it do you have difficulties understanding?
fatal_error: Failed to set group 63: Operation not permitted
Not a MPD specific problem. Apparently you don't know how Linux permissions work. If you don't have a specific permission, insisting to get that permission doesn't help. The kernel will refuse, as you can see. If it were any other way, (not) having permissions would be pointless - because anybody could just insist to get them.

But, anyway, had you read the above error message, you would have known that this has nothing to do with your problem.

mathieuhays
Posts: 10
Joined: January 18th, 2015, 2:27 am
Location: London, UK
Contact:

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by mathieuhays »

I'm quite new to linux and far more to software compiling.
Not everything makes sense to me just yet unfortunately.

About the missing alsa plugin, I'm not sure to understand where I am supposed to investigate to resolve the issue.
The config I use is a config which did work with mpd 0.16 on the same installation and worked on my dev environment which is ubuntu with the latest mpd release installed.
That's why the error message doesn't make much sense to me.

I'm missing something obviously but I don't know what.
I'll be happy to hear from you if you have any advice on how I can resolve this issue

Thanks.

max
Forum team
Posts: 1127
Joined: January 15th, 2013, 3:43 pm

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by max »

mathieuhays wrote:About the missing alsa plugin, I'm not sure to understand where I am supposed to investigate to resolve the issue.
You disabled MPD's "alsa" plugin at compile time. Probably not by explicit action, but by not installing the ALSA dev package, and thus MPD could not detect the availability of ALSA. Had you passed "--enable-alsa" to configure, you would have seen the error message stating that the ALSA library was not found; without this option, MPD will just go on with just a warning, assuming you don't care much about the feature.

Rasi
Forum team
Posts: 141
Joined: January 16th, 2013, 7:29 pm

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by Rasi »

mathieuhays, cirrus last response is valid for every feature you want to enable in mpd.
It's not enough to have a dependency installed at compile time. But you need the header files too. Most times those are called alike. (e.g. libicu and libicu-dev)

So install all dev packages for features you want and compile again.

mathieuhays
Posts: 10
Joined: January 18th, 2015, 2:27 am
Location: London, UK
Contact:

Re: Compile mpd on CentOS 6.0 (Final) - libicu issue

Post by mathieuhays »

Thank you both for helping me out.
I've got now a better understanding why my issue occurred.

Actually almost everything has been disabled because I've got like 20-ish librairies missing (which I didn't notice at first).
I tried to install them based on the recommendation for ubuntu but most of them doesn't match with CentOs.

I'm not familiar how to retrieve libraries for a specific OS like that but I'm sure I'll find out ;)
Thanks again

Post Reply