Bug 17985 - Add support for Perl 5.16
: Add support for Perl 5.16
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Platform Support
: 7.7.2
: PC Linux (other)
: -- normal with 15 votes (vote)
: 7.8.0
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-06-30 10:13 UTC by Stuart Hickinbottom
Modified: 2013-09-10 08:42 UTC (History)
15 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Hickinbottom 2012-06-30 10:13:33 UTC
Current stable and nightlies max out at Perl 5.14. Perl 5.16 is starting to be included in distributions now (it's in Gentoo's unstable version, for example).

Would it be possible to start including Perl 5.16-built modules with the binary server builds?

The following is the Gentoo bug relating to lack of Perl 5.16 support:
https://bugs.gentoo.org/show_bug.cgi?id=423997
Comment 1 Marco Schinkel 2012-07-03 07:51:25 UTC
Please add support for perl 5.16. Its considered stabel for quite a while now.
Comment 2 Michael Herger 2012-07-05 00:35:14 UTC
*** Bug 17984 has been marked as a duplicate of this bug. ***
Comment 3 Michael Herger 2012-07-11 00:42:02 UTC
*** Bug 17986 has been marked as a duplicate of this bug. ***
Comment 4 Marco Schinkel 2012-07-15 00:46:19 UTC
Perl 5.16 was releases almost 2 months ago and still no support for 5.16 in the nightlies :(

Is there a specific problem with compiling the modules for 5.16?
Comment 5 Erland Isaksson 2012-07-30 01:22:04 UTC
Apparently 5.14.1 which is the oldest community version available from ActiveState isn't available for download anymore, only 5.14.2 is available and from the following thread it sounds like 5.14.2 has some issues that makes it not work with the git version of LMS:
http://forums.slimdevices.com/showthread.php?95917-Fetching-7-8-from-Git-and-running-on-an-SSD&p=711738&viewfull=1#post711738

So support for 5.16 (or at least 5.14.2) is now also needed for Windows users who like to use the git version of LMS.
Comment 6 Gordon Harris 2012-07-30 07:23:02 UTC
I have no problems at all running LMS 7.8 from the git code using perl 5.14.2 on my Ubuntu 12.04 box:

perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi
Comment 7 Philip Meyer 2012-08-01 00:34:14 UTC
The problem with running 5.14.2 could be that I was trying to run the 64 bit release.  Running 5.14.2 (32 bit) seems to be okay (although one plugin fails to start due to a CPAN Zip problem).
Comment 8 Thorsten 2012-08-02 05:34:16 UTC
I've upgraded my Slackware system and the new one comes with Perl 5.16. I hope support for it will be included soon.
Comment 9 Erik 2012-08-25 12:27:12 UTC
Currently running Gentoo perl 5.16.1. LMS seems to work fine, but I am unable to get the latest gentoo version b/c of this issue. Just wanted to add my comment that I would like to see this bug resolved.
Comment 10 Uwe Meyer-Gruhl 2012-09-18 06:43:05 UTC
Support for Perl 5.16 is needed for working with current OpenSUSE 12.2 now as well.


I have managed to modify buildme.sh in order to build all needed modules (though Class-XSAccessor must be updated to 1.14 from 1.05, as well as YAML-LibYAML from 0.35 to 0.38, so it will be difficult to maintain a fixed set of CPAN modules for all Perl versions).

However, in the server software itself, there are some glitches and problems that probably have syntactic reasons:

[12-09-18 15:09:09.9425] Slim::Utils::Misc::msg (1304) Warning: [15:09:09.9424] overload arg '"' is invalid at /usr/share/squeezeboxserver/CPAN/DBIx/Class/Storage.pm line 26.

[12-09-18 15:09:35.5555] Slim::Control::Request::execute (1889) Error: While trying to run function coderef [Slim::Control::Queries::statusQuery]: [Can't modify non-lvalue subroutine call at /usr/lib/perl5/vendor_perl/5.16.0/Slim/Music/Info.pm line 779.

I do not even comprehend what the statement at Info.pm line 779 exactly does - part of the explanation may be that the coding style is what might be called "extravagant":

$client ? $client->musicInfoTextCache($cache) : $musicInfoTextCache = $cache;

This seems to be a conditional assignment of $cache to one of two variables depending on $client, the first of which (this is the offending one) is the result of a function call. Pardon me?

Or was it just a missing bracketing and what was really meant should be:

$client ? $client->musicInfoTextCache($cache) : ($musicInfoTextCache = $cache);
Comment 11 Rob 2012-09-20 06:33:08 UTC
I've been looking at this for a bit.

It seems that Tie-RegexpHash is also no longer compiling properly on perl 5.16.0

According to this bug : https://rt.cpan.org/Public/Bug/Display.html?id=66875
It has been problematic since 5.13.6

This could also be a cause some of your annoyances with 5.16.0

Regards
Rob
Comment 12 Clive Messer 2013-01-15 19:16:07 UTC
Fedora 18 released today (18/01/2013) with perl v5.16.2
Comment 13 Alexander 2013-02-02 12:52:31 UTC
Yes, please pay more attention to this. It becomes more and more urgent, as Linux distros with perl < 5.16 are running out of support and people have to move to never versions.
Thank you in advance!
Comment 14 Lee Sanders 2013-03-09 19:39:19 UTC
Just upgraded my network server to Slackware 14.0
logitechmediaserver-7.7.2-33893 was previously working just fine but now it breaks. I downloaded buildme.sh and that also breaks.
Apparently, Perl 5.16 is the problem, well, mediaserver not being compatable.
Slackware 14.0 is *SIX MONTHS OLD* - so perl 5.16 is older.

CAN WE HAVE A FIX OR WORKAROUND, PLEASE.

At the very least, it would be nice if the buildme.sh script worked !
Comment 15 Rob 2013-04-30 19:53:16 UTC
Hi,

According to this page : http://en.opensuse.org/Lifetime

openSUSE will discontinue the support for openSUSE 12.1 on may 15th 2013

openSUSE 12.1 has perl 5.14.2 ,will be discontinued on may 15th 2013
openSUSE 12.2 has perl 5.16.0
openSUSE 12.3 has perl 5.16.2

After may the 15th 2013 openSUSE is no longer compatible with logitech squeezebox slimserver.

Regards
Rob
Comment 16 kalagani 2013-06-03 17:48:40 UTC
Hello,

on may 18th 2013
according to this page : http://wiki.mageia.org/en/Mageia_3_Release_Notes
Perl has been upgraded to 5.16.3 and all perl packages have been rebuilt and/or updated
=> now the logitechmediaserver-7.7.2-1 do not work 
while it worked with Mageia2 and perl-5.14.2-7

So I run buildme.sh after download from 
http://svn.slimdevices.com/repos/slim/7.7/trunk/vendor/CPAN
it's OK but what then?
Comment 17 Michael Herger 2013-07-03 15:28:22 UTC
I have done some work to make LMS compatible with perl 5.16 on the upcoming OSX 10.9. This included updating some modules and modifying some of our code to silence a bunch of warnings.

Does anybody have some work on Linux he would like to share with me so I can include (some) support for 5.16 in our builds?
Comment 18 Rob 2013-07-04 10:57:17 UTC
Hello,

I can test the build if you like for the latest opensuse release if you like.

Rob
Comment 19 Michael Herger 2013-07-04 11:11:00 UTC
Does anybody know which distribution is using i386-linux-thread-multi-64int?
Comment 20 Rob 2013-07-04 11:44:10 UTC
Hi

I renamed the folder on my opensuse 12.1 x86_64 install and restarted
squeezebox server.
It seems to work, so I guess it's not used on opensuse 64 bit.

Rob
Comment 21 Graham White 2013-07-04 11:54:40 UTC
(In reply to comment #17)
> I have done some work to make LMS compatible with perl 5.16 on the upcoming
> OSX 10.9. This included updating some modules and modifying some of our code
> to silence a bunch of warnings.
> 
> Does anybody have some work on Linux he would like to share with me so I can
> include (some) support for 5.16 in our builds?

Michael, for Linux it's probably worth getting in touch with the guys running the Community Squeeze project (http://www.communitysqueeze.org/).  They've got things patched up and working for Linux with 5.16.
Comment 22 Michael Herger 2013-07-04 15:09:45 UTC
http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/ - please give it a try. Thanks!
Comment 23 Lee Sanders 2013-07-04 16:07:22 UTC
logitechmediaserver-7.7.3-1372939239 (using the tgz) doesn't "just work" on Slackware 14.0 because Scan.so requires Glibc 2.17 and Slackware 14.0 ships with Glibc 2.15
Comment 24 Stuart Hickinbottom 2013-07-05 06:56:03 UTC
Thanks for the changes, Michael.

I'll take a look at this for Gentoo (where I maintain this package in an overlay), and report back any problems. Support for 5.16 has been requested quite a lot, so the timing is great.
Comment 25 Stuart Hickinbottom 2013-07-07 14:25:21 UTC
(In reply to comment #17)
> I have done some work to make LMS compatible with perl 5.16 on the upcoming
> OSX 10.9. This included updating some modules and modifying some of our code
> to silence a bunch of warnings.

Good news -- initial testing seems to be successful on Gentoo i686-linux-thread-multi Perl v5.16.3.
Comment 26 Michael Herger 2013-07-08 06:18:08 UTC
(In reply to comment #23)
> logitechmediaserver-7.7.3-1372939239 (using the tgz) doesn't "just work" on
> Slackware 14.0 because Scan.so requires Glibc 2.17 and Slackware 14.0 ships
> with Glibc 2.15

When you say it didn't "just work", did you find a workaround? Have you been able to update glibc?
Comment 27 Rob 2013-07-09 13:06:28 UTC
Hello,

Testing your build on opensuse 12.3
I used the rpm package.
It does not work for me.
See below for my experience

first error :
Starting Squeezebox Server: Can't locate Slim/bootstrap.pm

This one is ancient.
positive point : google knows the answer easily
negative point : this one is not only very old but very easy to solve with an include or a symlink. Big shame it's still here.

Solved by :
ln -s /usr/lib/perl5/vendor_perl/Slim /usr/lib/perl5/site_perl/Slim

Error ?
There are several perl requirements that the LMS requires.
It tells me to use buildme.sh but that is not included in the rpm.
Shame, on the other hand, buildme.sh never worked for me on suse so I installed the dependencies by hand in the past anyway.
Nowadays I use my own build rpms to fill the gaps.

According to the rpm packaging guidelines these should be included in the rpm package as 'Requires:'

The following rpms are available from openSUSE repos :
perl-DBI
perl-HTML-Parser
perl-JSON-XS
perl-HTML-Tagset
perl-YAML-LibYAML
perl-DBD-SQLite

The following rpms I had to package myself
perl-EV 
perl-Audio-Scan (copied from the packman repos)
perl-Image-Scale


Error : incompatible DBD-SQLite
DBD::SQLite object version 1.37 does not match bootstrap parameter 1.34_01 at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 213.

So I build that version myself and downgraded the installed version to do a workaround.
perl-DBDSQLite from my own repo

Error
Can't locate loadable object for module Media::Scan in @INC

Ok now I'm stumped, this one is included in the rpm, why doesn't it find it?
A symlink does not help here.

In other words, logitechmediaserver-7.7.3-0.1.1372939239.noarch.rpm fails for me on openSUSE 12.3

Cheers
Rob
Comment 28 Rob 2013-07-09 13:13:50 UTC
Hi forgot one error:
NOTE: Class::XSAccessor 1.05+ not found, install it for better performance

perl-Class-XSAccessor 1.13 is installed, so it fails to find this one as well.
(path /usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi/Class/XSAccessor)


Cheers
Rob
Comment 29 Rob 2013-07-09 14:07:16 UTC
just found out why the Media::Scan is not found.

It is only included for perl 5.16 i386, and not for perl 5.16 x86_64

Reinstalled the machine with openSUSE 32bit.
It only needs the symlink to work now.
ln -s /usr/lib/perl5/vendor_perl/Slim /usr/lib/perl5/site_perl/Slim

So its a 32 bit application only....sigh, nice one.

Ah well, it works on 32bit.
Rob
Comment 30 Michael Herger 2013-07-10 06:30:36 UTC
> It is only included for perl 5.16 i386, and not for perl 5.16 x86_64

That's correct.

> Reinstalled the machine with openSUSE 32bit.

You shouldn't need to install the whole system. AFAIK there are compatibility libriaries to make 32-bit applications work fine on 64-bit systems.

> It only needs the symlink to work now.
> ln -s /usr/lib/perl5/vendor_perl/Slim /usr/lib/perl5/site_perl/Slim

Could you please download the file again and give it another try? I added a few lines to deal with that symlink. Would be great to know whether it now works on SuSE. Thanks!
Comment 31 Rob 2013-07-10 07:16:44 UTC
> It is only included for perl 5.16 i386, and not for perl 5.16 x86_64

That's correct.

> Reinstalled the machine with openSUSE 32bit.

You shouldn't need to install the whole system. 
I use a dedicated vm for testing (and running since stable is still stuck at opensuse 12.1), the minimal server install is less than 10 minutes using pxe boot and a local install repo.

AFAIK there are compatibility libriaries to make 32-bit applications work fine on 64-bit systems.

32bit libraries do exist, but if it's that simple, why doesn't it work ?
The program must make it clear that it needs a 32bit library requirement.
LMS only complains about missing perl modules, that's ok but did you notice the rpm says noarch at the end, that implies it works on all architectures.
If it is only 32bit the extension of the rpm should be something like for x86_64 : logitechmediaserver-32bit-7.7.3-0.1.1372939239.x86_64.rpm or if that is to much : logitechmediaserver-7.7.3-0.1.1372939239.i586.rpm
That way it is clear that it's going to need 32bit stuff.

Also if the 32bit packages are needed the should be a requirement for the rpm so they get installed as soon as you install the rpm.

Maybe you should have a look at the open build service (http://openbuildservice.org/) it helps a lot when you need to package software for multiple distributions (centos/debian/fedora/mandriva/opensuse/rhel/sle/ubuntu) architectures (x84_64/i386/arm/ppc), I admit there is a learning curve on its usage, but it saves a bucket load of work and irritations because it automates a lot of testing and rebuilding if a dependency changes or an update is made to the package once you have set it up.
Updating all packages for all distros becomes a matter of minutes after you start using this one.

> It only needs the symlink to work now.
> ln -s /usr/lib/perl5/vendor_perl/Slim /usr/lib/perl5/site_perl/Slim

Sadly it is still not working :(
(tested on openSUSE 12.3 i586)

Could you please download the file again and give it another try? I added a few lines to deal with that symlink. Would be great to know whether it now works on SuSE. Thanks!
Comment 32 Michael Herger 2013-07-10 10:07:52 UTC
> Sadly it is still not working :(
> (tested on openSUSE 12.3 i586)

Hmm... working just fine here. Are you sure you re-downloaded the file and did not just pull a copy out of your browser's cache?

Can you give some more information how it fails? Error messages? Log snippets?
Comment 33 Rob 2013-07-10 11:41:08 UTC
Hmm... working just fine here. Are you sure you re-downloaded the file and did not just pull a copy out of your browser's cache?

I deleted the vm, and reinstalled a new one with minimal-server option.
updated the vm to latest and greatest
downloaded the rpm
wget http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/logitechmediaserver-7.7.3-0.1.1372939239.noarch.rpm
judging by the buildnumber I think this is a different file than the one I used yesterday.

Can you give some more information how it fails? Error messages? Log snippets?

yup :
cd /etc/init.d
./squeezeboxserver start
redirecting to systemctl  start 
Starting Squeezebox Server: Can't locate Slim/bootstrap.pm in @INC (@INC contains: /usr/libexec /usr/lib/perl5/site_perl/5.16.2/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.16.2 /usr/lib/perl5/vendor_perl/5.16.2/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.16.2 /usr/lib/perl5/5.16.2/i586-linux-thread-multi /usr/lib/perl5/5.16.2 /usr/lib/perl5/site_perl .) at /usr/libexec/squeezeboxserver line 137.
BEGIN failed--compilation aborted at /usr/libexec/squeezeboxserver line 137.
startproc:  exit status of parent of /usr/libexec/squeezeboxserver: 2
                                                                      failed
Comment 34 Rob 2013-07-10 11:42:15 UTC
before I forget 
there are no logs yet in /var/log/squeezeboxserver/

Rob
Comment 35 Michael Herger 2013-07-10 13:58:07 UTC
> I deleted the vm, and reinstalled a new one with minimal-server option.

Did so with the default KDE desktop.

> updated the vm to latest and greatest
> downloaded the rpm
> wget
> http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/
> logitechmediaserver-7.7.3-0.1.1372939239.noarch.rpm

I downloaded using firefox, double-clicked the file. Installed & run perfectly fine.

In previous tests I run rpm from the command line successfully, too. Don't know what's different about your installation.
Comment 36 Rob 2013-07-10 15:13:32 UTC
> I deleted the vm, and reinstalled a new one with minimal-server option.

Did so with the default KDE desktop.

32 or 64 bit ?
Ah well I try both.

> updated the vm to latest and greatest
> downloaded the rpm
> wget
> http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/
> logitechmediaserver-7.7.3-0.1.1372939239.noarch.rpm

I downloaded using firefox, double-clicked the file. Installed & run perfectly fine.

In previous tests I run rpm from the command line successfully, too. Don't know what's different about your installation.

The 64bit installation still complains about missing packages for me.
The 32bit installation does indeed work without any additional effort.
I tried the 32bit minimal server again and it works.
Updated to the latest patch level and it still works.
I guess something did indeed go wrong with the installation before.

Thanx for the help.
Rob
 

Add Comment
Comment 37 BarryM 2013-07-11 20:48:28 UTC
Hi all! I'm also trying to get the server (using the rpm posted on July 9) running on an openSUSE 12.3 64-bit system. I made good progress dealing with missing perl modules, but one is proving to be a problem. When I attempt to start the server, I get:

./squeezeboxserver start
redirecting to systemctl  start 
Starting Squeezebox Server: The following CPAN modules were found but cannot work with Logitech Media Server:
  Image::Scale (loaded  but missing object file, need 0.08)

To fix this problem you have several options:
1. Install the latest version of the module(s) using CPAN: sudo cpan Some::Module
2. Update the module's package using apt-get, yum, etc.
3. Run the .tar.gz version of Logitech Media Server which includes all required CPAN modules.

When I try to install the missing Image::Scale module, it gets through 'make' with a few warnings, but then bombs on 'make test':

...
  /usr/bin/make -- OK
'YAML' not installed, will not store persistent state
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01use.t .......... 1/1 
#   Failed test 'use Image::Scale;'
#   at t/01use.t line 3.
#     Tried to use 'Image::Scale'.
#     Error:  Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
#  at (eval 4) line 2.
# Compilation failed in require at (eval 4) line 2.
# BEGIN failed--compilation aborted at (eval 4) line 2.
# Looks like you failed 1 test of 1.
t/01use.t .......... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests 
t/02pod.t .......... skipped: Test::Pod 1.14 required
t/03podcoverage.t .. skipped: Test::Pod::Coverage 1.04 required
t/04critic.t ....... skipped: Critic test only for developers.
t/bmp.t ............ Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at t/bmp.t line 9.
Compilation failed in require at t/bmp.t line 9.
BEGIN failed--compilation aborted at t/bmp.t line 9.
# Looks like your test exited with 2 before it could output anything.
t/bmp.t ............ Dubious, test returned 2 (wstat 512, 0x200)
Failed 30/30 subtests 
t/gif.t ............ Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at t/gif.t line 9.
Compilation failed in require at t/bmp.t line 9.
BEGIN failed--compilation aborted at t/bmp.t line 9.
# Looks like your test exited with 2 before it could output anything.
t/bmp.t ............ Dubious, test returned 2 (wstat 512, 0x200)
Failed 30/30 subtests 
t/gif.t ............ Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at t/gif.t line 9.
Compilation failed in require at t/gif.t line 9.
BEGIN failed--compilation aborted at t/gif.t line 9.
t/gif.t ............ Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/jpeg.t ........... Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at t/jpeg.t line 9.
Compilation failed in require at t/jpeg.t line 9.
BEGIN failed--compilation aborted at t/jpeg.t line 9.
t/jpeg.t ........... Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
t/png.t ............ Can't load '/root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so' for module Image::Scale: /root/.cpan/build/Image-Scale-0.08-FQEvTt/blib/arch/auto/Image/Scale/Scale.so: undefined symbol: png_memcpy at /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi/DynaLoader.pm line 190.
 at t/png.t line 9.
Compilation failed in require at t/png.t line 9.
BEGIN failed--compilation aborted at t/png.t line 9.
t/png.t ............ Dubious, test returned 2 (wstat 512, 0x200)
No subtests run

Test Summary Report
-------------------
t/01use.t        (Wstat: 256 Tests: 1 Failed: 1)
  Failed test:  1
  Non-zero exit status: 1
t/bmp.t          (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 30 tests but ran 0.
t/gif.t          (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/jpeg.t         (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
t/png.t          (Wstat: 512 Tests: 0 Failed: 0)
  Non-zero exit status: 2
  Parse errors: No plan found in TAP output
Files=8, Tests=1,  0 wallclock secs ( 0.05 usr  0.02 sys +  0.22 cusr  0.04 csys =  0.33 CPU)
Result: FAIL
Failed 5/8 test programs. 1/1 subtests failed.
make: *** [test_dynamic] Error 2
  AGRUNDMA/Image-Scale-0.08.tar.gz
  /usr/bin/make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports AGRUNDMA/Image-Scale-0.08.tar.gz
Running make install
  make test had returned bad status, won't install without force

It looks like png_memcpy being undefined is a major problem, if not the only one.

So, what to do now?
Comment 38 Michael Herger 2013-07-12 03:55:33 UTC
> Hi all! I'm also trying to get the server (using the rpm posted on July 9)
> running on an openSUSE 12.3 64-bit system. I made good progress dealing with

Why not install the 32-bit compatibility libraries?

> When I try to install the missing Image::Scale module, it gets through
> 'make' with a few warnings, but then bombs on 'make test':

Try using the buildme.pl script and tarballs from https://github.com/Logitech/slimserver-vendor/tree/public/7.8/CPAN
Comment 39 Rob 2013-07-12 06:20:59 UTC
Hi I've packaged the perl modules needed for 12.3 here :
http://download.opensuse.org/repositories/home:/robverduijn:/squeezebox/openSUSE_12.3/

I've run into the same problems with Image::Scale as you did, after some digging I found that perl module hasn't been updated since aug 2011 and is going from bad to worse. First it was only failing on building with gif support, I had to disable it to get it to build. Now It also fails with png support, again disabling that gets it to build.

Then there is a dependency somehwhere on Tie::RegexpHash which has been failing since perl 5.13.

Why not install the 32-bit compatibility libraries?
Wish I knew which ones, Image::Scale ? Any others ? I can build the packages if I knew which ones are needed.

Try using the buildme.pl script and tarballs from https://github.com/Logitech/slimserver-vendor/tree/public/7.8/CPAN
I did, everytime since I bought the squeezebox years ago, it has failed for me since day one, I've been trying building perl modules since day one.

Rob
Comment 40 Rob 2013-07-12 06:23:13 UTC
ps I'm going to run the release of LMS in a dedicated virtual machine running openSUSE 12.3 i586.
That way it won't bite any of my other services and it won't break when I update the other programs that are running on my server.

Rob
Comment 41 Peter Oliver 2013-07-12 11:51:10 UTC
(In reply to comment #40)
> ps I'm going to run the release of LMS in a dedicated virtual machine
> running openSUSE 12.3 i586.

If you've already decided to go with a dedicated VM, it's probably worth pointing out that RHEL/CentOS 6 32bit includes Perl 5.10, runs the released logitechmediaserver-7.7.2-1.noarch just fine, and should be supported until 2020.
Comment 42 Rob 2013-07-14 14:47:47 UTC
I'll keep it in mind for when it stops working again :P

Rob
Comment 43 BarryM 2013-07-15 00:54:49 UTC
(In reply to comment #39)
> Hi I've packaged the perl modules needed for 12.3 here :
> http://download.opensuse.org/repositories/home:/robverduijn:/squeezebox/
> openSUSE_12.3/
> 
> I've run into the same problems with Image::Scale as you did, after some
> digging I found that perl module hasn't been updated since aug 2011 and is
> going from bad to worse. First it was only failing on building with gif
> support, I had to disable it to get it to build. Now It also fails with png
> support, again disabling that gets it to build.

I've installed the perl modules from your repo, and that eliminates the complaint about missing Image::Scale when I try to start the server. Now I get some different complaints:

./squeezeboxserver start
redirecting to systemctl  start 
Starting Squeezebox Server:                                                                       done
Your locale was detected as C, you may have problems with non-Latin filenames.  Consider changing your LANG variable to the correct locale, i.e. en_US.utf8
Unable to read prefs from /var/lib/squeezeboxserver/prefs/server.prefs : Usage: YAML::XS::LibYAML::Load(yaml_sv) at /usr/share/squeezeboxserver/CPAN/YAML/XS.pm line 48.

NOTE: Class::XSAccessor 1.05+ not found, install it for better performance
Can't locate loadable object for module Media::Scan in @INC (@INC contains: /usr/share/squeezeboxserver/CPAN/arch/5.16/x86_64-linux-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.16.2/x86_64-linux-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.16.2/x86_64-linux-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.16/x86_64-linux-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.16/x86_64-linux-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/x86_64-linux-thread-multi /usr/share/squeezeboxserver/lib /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/libexec /usr/lib/perl5/site_perl/5.16.2/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.16.2 /usr/lib/perl5/vendor_perl/5.16.2/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.16.2 /usr/lib/perl5/5.16.2/x86_64-linux-thread-multi /usr/lib/perl5/5.16.2 /usr/lib/perl5/site_perl .) at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Utils/Scanner/LMS.pm line 18.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Utils/Scanner/LMS.pm line 18.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Utils/Scanner/LMS.pm line 18.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Control/Commands.pm line 47.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Control/Request.pm line 434.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Control/Request.pm line 434.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Player/Client.pm line 32.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Utils/Alarm.pm line 48.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Utils/Alarm.pm line 48.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Buttons/Alarm.pm line 12.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Buttons/Alarm.pm line 12.
Compilation failed in require at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Buttons/Common.pm line 41.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.16.2/Slim/Buttons/Common.pm line 41.
Compilation failed in require at /usr/libexec/squeezeboxserver line 186.
BEGIN failed--compilation aborted at /usr/libexec/squeezeboxserver line 186.

And that's the end of that. I have the modules YAML::LibYAML and Class::XSAccessor installed, and both are up to date. I'm no perl guru, so I'm not sure how to go about addressing the complaints.

As for installing the 32-bit compatibility libraries, I'm certainly willing to try anything reasonable to get the server running (short of installing a different OS), but I'm not sure what's involved.

Barry
Comment 44 Michael Herger 2013-07-15 06:28:48 UTC
> As for installing the 32-bit compatibility libraries, I'm certainly willing
> to try anything reasonable to get the server running (short of installing a
> different OS), but I'm not sure what's involved.

Install the ia32-libs. See eg. http://www.maketecheasier.com/run-32-bit-apps-in-64-bit-linux/2009/08/10 (exact command depends on your distribution, of course).
Comment 45 Rob 2013-07-15 07:11:52 UTC
Hello,

I haven't been able to get it to run under 64bit either.
My perl is good enough for some sysadmin scripting but LMS is a bit much for me too.

I've figured since the LMS rpm package respects so few rpm packaging standards, it's bound to be broken by another package or a future update sometime, so I put up a virtual machine running 32bit openSUSE 12.3 with a minimal server install.

That way the package works out of the box, no tweaking needed.

Also it won't bite any other services with the embedded cpan modules and the chances of a future update breaking LMS are minimal as well.

>Install the ia32-libs. See eg. http://www.maketecheasier.com/run-32-bit-apps-
>in-64-bit-linux/2009/08/10 (exact command depends on your distribution, of >course).
That's an article about ubuntu and not compatible with openSUSE.

Opensuse is a bit more finegrained about 32bit packages, they don't use the 'one size fits all approach'.
They use the option "Requires" in the rpm package that tells zypper what packages are also needed for this package to work, thus eliminating all the posts that say can't find package X or Y on your system when you start the program.
That way the end user don't has to hit google for hours to find out what is wrong or missing.
When dealing with end users they simply use the 'one click install' and let yast/zypper deal with all the dependencies and repos.
http://en.opensuse.org/openSUSE:One_Click_Install

Rob
Comment 46 BarryM 2013-07-17 03:13:58 UTC
I had LMS running without problems in a 64-bit environment on an openSUSE 11.2 system, so it's disappointing that it cannot be done easily (or at all?) under openSUSE 12.3. It appears that the only way to unbrick my Squeezebox now is to find a way to get the 32-bit LMS to run on my 64-bit system. Although it should be do'able in principle, in practice it sounds like it could be a can of worms to get working and maintain.

Rob's idea of a minimal install of 32-bit openSUSE in a VM sounds more bulletproof, but I wonder... which VM to use, and are there any down sides? Does it mean I would have to copy my entire music library to the VM and maintain it there, and how would web access to LMS work?
Comment 47 Rob 2013-07-17 06:54:34 UTC
Hello,

My music is on my nas, which is mounted via nfs.
I use kvm for virtualization, which is very nice and does not require tweaks to get to run, yast takes care of everything, simply use traditional network setup (since you need bridging and the current networkmanager included by suse does not support it) bridge the vm on the network interface and from there it works just like a real computer on the network. If you use the standard suse firewall the vm should be reachable.
(ie not a custom written iptables script or other like shorewall)

If you are a fan of xen virtualization it should work fine as well, but the custom xen kernel that is required in the vm limits portability and could give you a few headaches in the future when upgrading or moving the vm. On the other hand it has been a while since I used xen, and things probably have changed a bit and become easier.

Rob
Comment 48 Michael Herger 2013-07-17 07:02:09 UTC
Please don't use this bug tracking system as a forum. Use forums.slimdevices.com to discuss VM etc. Thanks!
Comment 49 Rob 2013-08-19 08:13:41 UTC
Is this patch still in beta ?
Will this patch be made available on the logitech website ?
Or is this link http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/
the only place where this patch will be kept ?
Comment 50 Stuart Hickinbottom 2013-08-19 11:49:40 UTC
(In reply to comment #49)
> Is this patch still in beta ?
> Will this patch be made available on the logitech website ?
> Or is this link
> http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/
> the only place where this patch will be kept ?

I'd be interested in the official reply as well as I'd be keen to get a release out for Gentoo, but can add that the version currently available from the link you've quoted isn't a full release -- it doesn't contain any of the 64 bit binaries for the CPAN modules, for example (under CPAN/arch/5.16).
Comment 51 Michael Herger 2013-08-19 13:46:50 UTC
> Is this patch still in beta ?
> Will this patch be made available on the logitech website ?

Heh... it's even mentioned in the changelogs, isn't it? It's available in both nightlies for 7.7.3 and 7.8.

> Or is this link
> http://downloads.slimdevices.com/LogitechMediaServer_Perl5.16/
> the only place where this patch will be kept ?

Thanks for the reminder - need to remove this one.
Comment 52 Rob 2013-08-20 11:32:26 UTC
I was reffering to the download here :
http://mysqueezebox.com/download
Which is still pointing to 7.7.2-1

Maybe I should have asked, is this patched release still in beta ?
I guess so since you refer to nightlies.

Are you referring to these downloads with 'nightlies' ?
http://downloads.slimdevices.com/nightly/
There is no build for 7.7.3 in there.

Rob
Comment 53 Rob 2013-08-20 11:33:36 UTC
I was reffering to the download here :
http://mysqueezebox.com/download
Which is still pointing to 7.7.2-1

Maybe I should have asked, is this patched release still in beta ?
I guess so since you refer to nightlies.

Are you referring to these downloads with 'nightlies' ?
http://downloads.slimdevices.com/nightly/
There is no build for 7.7.3 in there.

Rob
Comment 54 Michael Herger 2013-08-20 11:41:12 UTC
> Are you referring to these downloads with 'nightlies' ?
> http://downloads.slimdevices.com/nightly/
> There is no build for 7.7.3 in there.

Yes, these changes haven't been officially released yet.
Comment 55 Michael Herger 2013-08-20 11:42:03 UTC
> Are you referring to these downloads with 'nightlies' ?
> http://downloads.slimdevices.com/nightly/
> There is no build for 7.7.3 in there.

Yes, these changes haven't been officially released yet. 7.7.3 are in http://downloads.slimdevices.com/nightly/?ver=7.7
Comment 56 Johannes 2013-08-24 13:50:16 UTC
Add support for Perl 5.18 I'd say.
Comment 57 James Rome 2013-08-24 15:20:02 UTC
This is really important for your loyal customers. I have a slew of Logitech products, but will probably not buy anymore unless Logitech continues to support LMS on all platforms.
Comment 59 James Rome 2013-08-24 15:45:20 UTC
And where do we find the changelogs?
Comment 60 BarryM 2013-08-27 14:34:41 UTC
Last word from me. Thanks to the information found in this forum thread:
http://forums.slimdevices.com/showthread.php?96492-opensuse-12-2-fails-to-run-logitechmediaserver-7-8-0-0-1-1347896053
I was able to get the latest nightly of LMS 7.8 running under 64-bit openSUSE 12.3.

Sorry about the inappropriate posts here!
Comment 61 James Rome 2013-09-05 12:42:00 UTC
Still cannot download this. There is a permission problem for http://downloads.slimdevices.com/nightly/7.7/sc/0584fe3/logitechmediaserver-7.7.4-0.1.1377698299.noarch.rpm
Comment 62 Michael Herger 2013-09-05 13:28:03 UTC
(In reply to comment #61)
> Still cannot download this. There is a permission problem for
> http://downloads.slimdevices.com/nightly/7.7/sc/0584fe3/logitechmediaserver-
> 7.7.4-0.1.1377698299.noarch.rpm

Should be fixed now (and has nothing to do with this bug anyway...)
Comment 63 James Rome 2013-09-05 13:46:28 UTC
(In reply to comment #62)
> (In reply to comment #61)
> > Still cannot download this. There is a permission problem for
> > http://downloads.slimdevices.com/nightly/7.7/sc/0584fe3/logitechmediaserver-
> > 7.7.4-0.1.1377698299.noarch.rpm
> 
> Should be fixed now (and has nothing to do with this bug anyway...)


The requested URL /nightly/7.7/sc/0584fe3/logitechmediaserver was not found on this server.

Apache Server at downloads-origin.slimdevices.com Port 80

Still bad...
Isn't the fix for this bug located at this link? If not, where is it?
Comment 64 Michael Herger 2013-09-05 13:53:39 UTC
It's been released as part of 7.7.3.

www.mysqueezebox.com/download

The nightly folders change every day, as new builds are available. Use this link for the latest build available:

http://downloads.slimdevices.com/nightly/?ver=7.7

For any further questions please use forums.slimdevices.com. Thanks!
Comment 65 Stuart Hickinbottom 2013-09-05 16:00:55 UTC
(In reply to comment #64)
> It's been released as part of 7.7.3.
> 
> www.mysqueezebox.com/download

Michael, I don't believe these downloads include 5.16 support for 64-bit builds, only 32-bit -- "CPAN/arch/5.16" only has the 32-bit arch subdirectory, unlike other Perl versions.

Additionally, http://downloads.slimdevices.com/nightly/?ver=7.7 only says that 5.14 is supported, not 5.16.

Is there any particular reason why 5.16 is 32-bit only?

Thanks for 'nearly' fixing this bug -- I appreciate it. I was just hoping to put together the 64-bit package for Gentoo on Perl 5.16.
Comment 66 Michael Herger 2013-09-05 16:11:14 UTC
> Additionally, http://downloads.slimdevices.com/nightly/?ver=7.7 only says
> that 5.14 is supported, not 5.16.

Didn't even know this was mentioned there... it's getting a bit messy, as some most Perl version are only supported on i386, 5.18 is only x86_64 etc.

> Is there any particular reason why 5.16 is 32-bit only?

Bloat. Scaling issues. Lack of resources. Call it whatever you like :-). I must admit that today I'd rather build it for 64-bit only, as I would assume that most Linux systems running recent Perl versions are running on modern hardware. But that's a wild guess.

> Thanks for 'nearly' fixing this bug -- I appreciate it. I was just hoping to
> put together the 64-bit package for Gentoo on Perl 5.16.

Now that I've re-factored the buildme.sh script I might go back to 5.16 and add 64-bit versions...
Comment 67 Michael Herger 2013-09-09 08:40:50 UTC
> Now that I've re-factored the buildme.sh script I might go back to 5.16 and
> add 64-bit versions...

Done. Please give it another try.
Comment 68 James Rome 2013-09-09 12:56:46 UTC
I am confused as to what exactly you did Michael.
Which perl versions work?
Is it 32- or 64-bit, or both?
Which Linux distros should work?
Where do we get this version?

Thank for your good work
Comment 69 Michael Herger 2013-09-09 13:16:02 UTC
> Which perl versions work?
> Is it 32- or 64-bit, or both?

For Intel architectures there are binaries for:
Perl 5.8-5.14: i386 only
Perl 5.16: i386 & x86_64
Perl 5.18: x86_64 only

> Which Linux distros should work?

All of them? Don't know tbh. :-)

> Where do we get this version?

http://downloads.slimdevices.com/nightly/index.php?ver=7.8
Comment 70 Rob 2013-09-10 07:34:17 UTC
just for your info

I've downloaded and installed
http://downloads.slimdevices.com/nightly/7.7/sc/e4bce7a/logitechmediaserver-7.7.4-0.1.1378731808.noarch.rpm

When i ran the init script it told me to download and run
https://raw.github.com/Logitech/slimserver-vendor/public/7.7/CPAN/buildme.sh

but it still fails on opensuse 12.3 x86_64
(using a default KDE installation)

Rob
Comment 71 Michael Herger 2013-09-10 07:36:47 UTC
> When i ran the init script it told me to download and run
> https://raw.github.com/Logitech/slimserver-vendor/public/7.7/CPAN/buildme.sh
> 
> but it still fails on opensuse 12.3 x86_64
> (using a default KDE installation)

That's correct, because 5.16/18 64-bit files are in _7.8_ only.
Comment 72 Rob 2013-09-10 08:42:57 UTC
duh..stupid mistake, my bad

the 7.8 nightly rpm works out of the box on 64bit, very nice :P

the buildme.sh script still fails.

You might want to extend the message that states to download the buildme.sh script
I need to clone the entire git repo before it even starts to do something.
not everybody is fluent in git.

also the dependencies of the buildme.sh script (which are obvious but still) an error telling you that make a c and c++ compiler are required would be nice touch

Rob