I'm new to Squeezebox, and am trying to get the server running on my old laptop file-server (32 bit), running OpenSUSE 12.2 (so perl 5.16).
I downloaded and installed the RPM, but LMS won't start:
"The following modules failed to load: EV JSON::XS YAML::XS Sub::Name"
That's fair enough - my hardware and software is a fairly unusual combination. So I followed the advice given, downloaded the CPAN source and buildme script from "http://svn.slimdevices.com/repos/slim/7.7/trunk/vendor/CPAN/", and got that all to build. (That took a bit of work, as the script doesn't yet support perl 5.16. I added lines to the buildme.sh script for that.)
So... now I've got a build directory, containing the results of the build script. But what should I do with it all? Move it to /usr/share/squeezeboxserver and add some paths to $PERL5LIB to help LMS?
Thanks, Matt
Results 1 to 7 of 7
-
2012-08-07, 09:50 #1Junior Member
- Join Date
- Aug 2012
- Posts
- 6
Building modules with buildme.sh, openSuse 12.2
-
2012-08-07, 13:31 #2Junior Member
- Join Date
- Aug 2012
- Posts
- 6
Ok, I moved the build directory into /usr/share/squeezeboxserver/ and added
export PERL5LIB="/usr/share/squeezeboxserver/build/5.16/lib/perl5/"
to the init script. The server now starts.
However, although my Squeezebox can connect to the server, and I can select and play tracks, I hear no sound on the squeezebox. That, although it can pull up detailed information about the mp3 it's "playing". I've looked long and hard at the network - I think it's okay. And there are some perl errors in the server log:
[12-08-07 22:00:05.6918] Slim::Control::Request::execute (1889) Error: While trying to run function coderef [Slim::Control::Commands:
laylistXitemCommand]: [Can't modify non-lvalue subroutine call at /usr/lib/perl5/vendor_perl/5.16.0/Slim/Music/Info.pm line 779.
or
[12-08-07 22:04:20.8706] Slim::Control::Request::execute (1889) Error: While trying to run function coderef [Slim::Control::Commands:
laylistJumpCommand]: [Can't modify non-lvalue subroutine call at /usr/lib/perl5/vendor_perl/5.16.0/Slim/Music/Info.pm line 779.
]
[12-08-07 22:04:20.8727] Slim::Web::JSONRPC::requestMethod (413) Request failed with error: Bad dispatch!
I'm thinking I might be better off using perlbrew to build a perl 5.12 release on my machine alongside the default perl 5.16. Can anyone confirm that this is the way to go?
-
2012-08-08, 00:59 #3
I can not confirm but afaik LMS is not tested beyond perl 5.14 I think even 5.14.2 is a problem .
There is an open bug for perl 5.16 support in bugzilla .
I rarely do this kind of stuff myself ,so I have no detailed advice
But usually when the distro has the rigth perl you can normally just install a lms package and possibly in some rare cases just install some missing perl module ( instead of building them yourself ).
I know that the error message points to the build script ,but many perl modules can be installed instead of built in many distros--------------------------------------------------------------------
Main hifi: Touch + CIA PS +MeridianG68J MeridianHD621 MeridianG98DH 2 x MeridianDSP5200 MeridianDSP5200HC 2 xMeridianDSP3100 +Rel Stadium 3 sub.
Bedroom/Office: Boom
Kitchen: Touch + powered Fostex PM0.4
Misc use: Radio (with battery)
iPad1 with iPengHD & SqueezePad
(in storage SB3, reciever ,controller )
server HP proliant micro server N36L with ClearOS Linux
http://people.xiph.org/~xiphmont/demo/neil-young.html
-
2012-08-09, 12:25 #4
-
2012-08-09, 13:50 #5Junior Member
- Join Date
- Aug 2012
- Posts
- 6
Thanks for the advice. I'm not going to keep trying with perl 5.16, so I've been trying to proceed with perlbrew and 5.12.
perlbrew built just fine, and the buildme script also ran successfully within the perlbrew 5.12 environment.
However, I'm not sure how to get squeezeboxserver running under the perlbrew build. Didn't have much time to work on this tonight, so I'll keep going tomorrow, but is there perhaps a guide to getting that to work?
-
2012-08-10, 07:08 #6Junior Member
- Join Date
- Aug 2012
- Posts
- 6
OK, I'm up and running. Will test some more, but seems like the server is working properly with my Squeezebox.
I thought I'd document what I did to get LMS running under a perlbrew perl build.
- installed perlbrew as root, called "perlbrew init", then used perlbrew to build a 5.12 release of perl.
- "perlbrew use perl-5.12.4" as root, then in that environment called the buildme.sh script again to build all the modules for LMS. Moved that build directory into /usr/share/squeezeboxserver/ (unnecessary?).
- There is some confusion as to where the home directory for the squeezeboxserver user is. /etc/passwd sets it to be /usr/share/squeezeboxserver/, but /etc/sysconfig/squeezeboxserver expects /usr/libexec/. In the end, I changed /etc/passwd.
- Added a
export PERL5LIB="/usr/lib/perl5/vendor_perl/"
to the init script.
- Changed the first line of squeezeboxserver to use the perlbrew perl:
#!/root/perl5/perlbrew/perls/perl-5.12.4/bin/perl
There are still some errors in the server log when I start the server:
[12-08-10 16:02:11.9828] main::init (354) Starting Logitech Media Server (v7.7.2, r33893, Wed Mar 14 06:31:06 MDT 2012) perl 5.012004
[12-08-10 16:02:14.0441] Slim::Utils::PluginManager::load (348) Warning: Couldn't call Slim::Plugin::Sounds::Plugin->initPlugin: Can't use string (123Sounds & Effec"...) as a HASH ref while "strict refs" in use at /usr/lib/perl5/vendor_perl//Slim/Plugin/Sounds/Plugin.pm line 63.
[12-08-10 16:02:14.0868] Slim::Networking::Async::Socket::UDP::mcast_add (48) Error: While adding multicast membership, UPnP may not work properly: Protocol not available
[12-08-10 16:02:14.0876] Slim::Networking::Async::Socket::UDP::mcast_add (56) Error: While setting IP_MULTICAST_IF, UPnP may not work properly: Protocol not available
[12-08-10 16:02:14.0883] Slim::Networking::Async::Socket::UDP::mcast_add (64) Error: While setting multicast TTL, UPnP may not work properly: Protocol not available
[12-08-10 16:02:14.0896] Slim::Networking::Async::Socket::UDP::mcast_add (48) Error: While adding multicast membership, UPnP may not work properly: Protocol not available
[12-08-10 16:02:14.0904] Slim::Networking::Async::Socket::UDP::mcast_add (56) Error: While setting IP_MULTICAST_IF, UPnP may not work properly: Protocol not available
[12-08-10 16:02:14.0911] Slim::Networking::Async::Socket::UDP::mcast_add (64) Error: While setting multicast TTL, UPnP may not work properly: Protocol not available
These at least don't seem to be fatal.
-
2012-08-12, 08:10 #7Junior Member
- Join Date
- Aug 2012
- Posts
- 6
Hmm... there are still some issues here.
I made /root/ world readable, so that other users can get to the perlbrew build, but something keeps resetting that, causing squeezeboxserver to not be able to get to its perl.
Also, squeezeboxserver doesn't seem terribly stable - it died yesterday while trying to rescan my files.

Reply With Quote

