PDA

View Full Version : Why does tarball version not just work?



ncarver
2010-07-20, 09:48
Trying to install SBS 7.5.1 on Mandriva 2008.0, but running into many problems. Spent a good deal of time on the RPM version, using CPAN to update various modules, but then ended up with:
Starting Squeezebox Server: The following CPAN modules were found but cannot work with Squeezebox Server:
Audio::Scan:
Audio::Scan object version 0.83 does not match bootstrap parameter 0.82 at /usr/lib/perl5/5.8.8/i386-linux/DynaLoader.pm line 253.

Thought I might try tarball version of 7.5.1 because I had previously been using a tarball version. Thought it was supposed to be pretty much self contained, but it doesn't run either, and I don't understand why this should be.

Starting slimserver.pl I first get:
The following modules failed to load: YAML::Syck

With the old server version I was running, I found I had to delete the Syck.pm file installed from the tarball and force system version to be used, so I tried this again and then got:
Use of uninitialized value in concatenation (.) or string at /opt/squeezeboxserver-7.5.1/Slim/bootstrap.pm line 418.
The following CPAN modules were found but cannot work with Squeezebox Server:
Audio::Scan (loaded but missing object file, need 0.82)

Of course one of the suggested fixes is:
3. Run the .tar.gz version of Squeezebox Server which includes all required CPAN modules.

So can somebody explain to me why the tarball will not run--even though it claims to contain the required modules??

Thanks for any insights!!

andyg
2010-07-20, 09:49
Post the output of:

slimserver.pl --d_startup

and:

perl -V

ncarver
2010-07-20, 10:37
I have attached files with the output from running:

(1) slimserver.pl --d_startup


(2) perl -V

andyg
2010-07-20, 10:46
OK, the reason it doesn't work is because your Perl is not built with threading enabled, thus our precompiled modules won't work for you.

First thing to try is manually installing Audio::Scan 0.82 from here: http://search.cpan.org/dist/Audio-Scan-0.82/

If that doesn't work you can build all the versions of our modules by downloading this directory: http://svn.slimdevices.com/repos/slim/7.5/tags/7.5.1/vendor/CPAN/ and running the buildme.sh script. It will generate a build/arch/5.8/i386-linux/auto directory, the contents of which you can copy into the arch directory for your Perl: /opt/squeezeboxserver-7.5.1/CPAN/arch/5.8/i386-linux/auto

ncarver
2010-07-20, 10:55
Thanks for the response Andy. Had forgotten about the threading issue.

Rebuilt Audio::Scan 0.82 after previous posting, which leads to:

Undefined subroutine &Class::XSAccessor::Array::newxs_getter called at /opt/squeezeboxserver-7.5.1/CPAN/Class/XSAccessor/Array.pm line 64.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Schema.pm line 55.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Schema.pm line 55.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/Song.pm line 19.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/Song.pm line 19.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/StreamingController.pm line 18.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/StreamingController.pm line 18.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/Client.pm line 29.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/Client.pm line 29.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Utils/Alarm.pm line 48.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Utils/Alarm.pm line 48.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Alarm.pm line 12.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Alarm.pm line 12.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Common.pm line 42.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Common.pm line 42.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/slimserver.pl line 164.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/slimserver.pl line 164.

andyg
2010-07-20, 11:10
OK, install Class::XSAccessor 1.05 from http://search.cpan.org/dist/Class-XSAccessor-1.05/

ncarver
2010-07-20, 11:55
Installed Class::XSAccessor 1.05, and then got:

[10-07-20 13:26:00.1964] main::init (323) Starting Squeezebox Server (v7.5.1, r30836, Tue Jun 1 06:59:24 MDT 2010) perl 5.008008
[10-07-20 13:26:06.4408] Slim::Music::TitleFormatter::init (42) Warning: Undefined subroutine &Class::C3::XS::_plsubgen called at /opt/squeezeboxserver-7.5.1/CPAN/MRO/Compat.pm line 373.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Music/TitleFormatter.pm line 42.
[10-07-20 13:26:06.4419] main:: (0) Warning: Undefined subroutine &Class::C3::XS::_plsubgen called at /opt/squeezeboxserver-7.5.1/CPAN/MRO/Compat.pm line 373.
END failed--call queue aborted.

Ended up with mysqld running but not squeezeboxserver obviously.


In the meantime, built the CPAN stuff and copied it under /opt/squeezeboxserver-7.5.1/CPAN/arch/5.8/i386-linux/auto

But then I am back to:
The following CPAN modules were found but cannot work with Squeezebox Server:
Audio::Scan:
Audio::Scan object version 0.83 does not match bootstrap parameter 0.82 at /usr/lib/perl5/5.8.8/i386-linux/DynaLoader.pm line 253.
Compilation failed in require at (eval 34) line 2.
BEGIN failed--compilation aborted at (eval 34) line 2.

andyg
2010-07-20, 11:59
Where did you build from? The link I posted has Audio::Scan 0.82 in it.

ncarver
2010-07-20, 12:04
Where did you build from? The link I posted has Audio::Scan 0.82 in it.

Oops--accidentally took URL from wrong screen (I have so many open). Ended up getting from: http://svn.slimdevices.com/repos/slim/7.5/trunk/vendor/CPAN/

Will download correct files and rebuild and get back when done....

Thanks for your help, BTW!

ncarver
2010-07-20, 12:59
OK--built from your URL and copied files over as directed...

Now appear to be having issue with module Class::XSAccessor::Array:

Undefined subroutine &Class::XSAccessor::Array::newxs_getter called at /opt/squeezeboxserver-7.5.1/CPAN/Class/XSAccessor/Array.pm line 64.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Schema.pm line 55.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Schema.pm line 55.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/Song.pm line 19.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/Song.pm line 19.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/StreamingController.pm line 18.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/StreamingController.pm line 18.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Player/Client.pm line 29.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Player/Client.pm line 29.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Utils/Alarm.pm line 48.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Utils/Alarm.pm line 48.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Alarm.pm line 12.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Alarm.pm line 12.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Common.pm line 42.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/Slim/Buttons/Common.pm line 42.
Compilation failed in require at /opt/squeezeboxserver-7.5.1/slimserver.pl line 164.
BEGIN failed--compilation aborted at /opt/squeezeboxserver-7.5.1/slimserver.pl line 164.


Your repository had Class-XSAccessor-1.03.tar.gz and Class-XSAccessor-Array-1.04.tar.gz.

Suggestions?

ncarver
2010-07-20, 13:46
A bit of googling turned up this thread:
http://www.mail-archive.com/unix@lists.slimdevices.com/msg17381.html

Same problem with Class::XSAccessor::Array::newxs_getter.



Further investigation suggested that the Array.pm was version 1.05 but
the binary version under CPAN/arch/... was 1.04. As the version on
http://svn.slimdevices.com/repos/slim/7.5/trunk/vendor/CPAN/ is 1.04 I
used the Array.pm from
http://svn.slimdevices.com/repos/slim/7.5/trunk/vendor/CPAN/Class-XSAccessor-Array-1.04.tar.gz
to replace
/usr/local/squeezeboxserver-7.5.1-30836/CPAN/Class/XSAccessor/Array.pm


Did exactly that, and now SBS starts, but with this message:

NOTE: Class::XSAccessor 1.05+ not found, install it for better performance
[10-07-20 15:37:18.0168] main::init (323) Starting Squeezebox Server (v7.5.1, r30836, Tue Jun 1 06:59:24 MDT 2010) perl 5.008008

Am working my way through the setup, so hopefully scanning ,etc will function.

andyg
2010-07-20, 13:59
Oops, the vendor/CPAN dir is wrong there, all you need it Class::XSAccessor 1.05, Class::XSAccessor::Array was folded into that module so it's no longer needed separately.

ncarver
2010-07-20, 15:43
Oops, the vendor/CPAN dir is wrong there, all you need it Class::XSAccessor 1.05, Class::XSAccessor::Array was folded into that module so it's no longer needed separately.

I guessed that, and will fix it...
However, as far as I can tell, everything is already working fine:

(1) Was able to connect to SBS via browser on another machine;

(2) Scanning eventually worked (not certain what went wrong at first, but after fussing about with restarting the scan a few times while changing directories and then back, it worked);

(3) Duet Receiver was immediately found by SBS and worked;

(4) Duet Controller was started and updated itself, but then hung after reboot on Register/Continue page for mysqueezebox.com, simply restarted again and it was fine.

I have not updated the server software for quite a while since it was working perfectly for the music I use (primarily my own files plus a bit of Internet radio). I definitely think that the new interface and large number of sources are a big step forward. Very impressive--all of the developers should be quite proud! Looking forward to getting a Touch day after tomorrow. Will have check out the apps.

So, Andy, thank you for your great assistance getting the new SBS installed, and thanks for your work on the new software, as I think it is a big step forward for the Squeezebox system.

Mark Miksis
2010-07-20, 17:03
Why are you using such an old version of Mandriva? I think they switched to a threaded perl in more recent releases.

ncarver
2010-07-20, 18:14
Why are you using such an old version of Mandriva? I think they switched to a threaded perl in more recent releases.

Actually 2008.0 is still a supported version so it secure and it is an extremely stable version. Thus it is completely usable for a file server machine. There is no reason for me to waste my precious time upgrading it to have something newer just for newness sake. SBS is the only software it runs that isn't distro supplied, and now that I know what needs doing it would take only a few minutes of my time to reinstall SBS. The fact that the machine can run virtually indefinitely without any problems is of primary importance for its use as a server--and a newer distro would not improve on this, it would probably lead to less stability! In fact, I will tell you that I am displeased with some aspect of virtually every current Linux release. I am a CS prof. and teach Linux sysadmin courses, so have looked at many, many distros recently. My MDV 2008.0 and 2008.1 machines run continuously for many months without rebooting or even logging out of KDE3. Sadly, recent Linuxes have been adding so many "cutting edge" features/software that they have sacrificed stability and/or usability. E.g., KDE4 continues to lack a significant number of capabilities that I use extensively and it remains substantially less stable than KDE3.5.