Wednesday, October 1, 2014

Logitech Media Server and Ubuntu Server 14.04.1 LTS

Logitech Media Server (LMS) was formerly known as SqueezeboxServer, SqueezeCenter and SlimServer. It's been running fine on my Ubuntu Server 13.10 box. I've recently decided to take the plunge and update to 14.04.1 LTS. There were some minor issues, but nothing critical, except for Logitech Media Server which refused to start.

After the update LMS died constantly. The logfile yielded the following error, repeating every few seconds (emphasis mine):
Slim::bootstrap::tryModuleLoad (286) Warning: Module [DBD::mysql] failed to load:DBD::mysql object version 4.023 does not match bootstrap parameter 4.025 at /usr/lib/perl/5.18/DynaLoader.pm line 207.
Compilation failed in require at (eval 544) line 1.
BEGIN failed--compilation aborted at (eval 544) line 1.
What does this mean? How can it be fixed?

After much investigating I found out that I had version 4.023 of DBD::mysql installed. I tried to install the latest version from the Ubuntu repositories, but that was 4.026.  I tried to downgrade to 4.025 which was part of the 13.10 repositories, but there were dependency problems. The error above indicates that LMS requires version 4.025 exactly. Otherwise, no dice.

Next I tried to download a specific version from CPAN, but that seemed to be much too complicated. In the end the solution was to manually download and compile version 4.025 of DBD::mysql from CPAN here. You can use the "jump to version" dropdown box to go to the version you need.

Download it, untar it and do the infamous steps
perl Makefile.PL
make
sudo make install
I've skipped the make test because I too like to live dangerously. ;-)
Then I bounced the LMS service and it finally worked.

You have to use at least version 7.8.0 of LMS though, other version will not play nice with perl 5.18. I took the chance and updated LMS to 7.9.0. It's been running fine.

No comments: