View Full Version : impossible to install slimserver on NSLU

2007-07-05, 11:09
I had a slimserver 6.3.1 running on my NSLU (unslung 6.8). After changing the external disk I tried to setup this 6.3.1 (from bpa)again, but without luck, very strange things happened. See http://forums.slimdevices.com/showthread.php?t=28038, last posts.
Tried several times, even new installing unslung etc.
Then I read in the linux documentation that installing 6.5.1 (which I tried several weeks before and gave up - too complicated) would be much easier than a few weeks ago, without changing so many scripts etc. And several users posted that they had success, so I gave it a try. I followed the well known instructions, and the installation seems to be quite OK. slimserver info is OK, but start only shows:"Starting SlimServerSlimserver failed to run. Return value: 0". In the logfile I can see that it seems to be a problem with zlib: The following modules failed to load: Compress::Zlib

To download and compile them, please run: /opt/share/ss65/Bin/build-perl-modules

But zlib is installed ...and build perl modules.pl does'nt help.

I have read many many posts but nobody else seems to have that problem. Now I have no possibility to listen to my music because no version seems to work.

Ähm, could it be something with the new harddisk, it is a sata disk in a sata/usb case? The old one was a IDE/USB.

Thank you for helping me!

2007-07-05, 12:50
If your unslung system is running more or less OK then it is unlikely to be a harddisk issue and more a software issue.

First the caveat - like my 6.3.1 system - the 6.5.1 was built for an FSG3 and that is why it is does not work "out of the box" on an NSLU2. However some NSLU2 users have found ways to make it work.

It looks like you are missing zlib or it is not where Slimserver (for FSG3) expects to find it. Start slimserver.pl with the d_startup and d_server options on the command line and look at the messages.

2007-07-06, 14:13
this is my log from slimserver.pl --d_startup.
There are several modules that cannot be loaded, the first one is Zlib. But Zlib.pm is in opt/share/ss65/CPAN/Compress . This is the right place, isn't it? Any idea?

2007-07-06, 15:17
How did you install Compress::Zlib ?

Did you use this command
ipkg install perl-compress-zlib

2007-07-07, 10:39
yes I did. I followed this wiki very careful: http://www.nslu2-linux.org/wiki/Applications/SlimServer, which tells to install:
ipkg update; ipkg install perl expat mysql perl-compress-zlib.


2007-07-07, 12:49
I don't have a NSLU2 so I can't check the instruction and it is missing info - specifically which versions have been used of different s/w packages.

Please check your Zlib installation as follows.
Check what Zlib.pm files your have in /opt and all subdirectories ?

If the ipkg installed Zlib correctly then there should be one something like

This is the FSG3 path - it may be different on NSLU2 and hence causing a problem

2007-07-08, 13:31
I have two Zlib files, one in /opt/lib/perl5/site_perl/5.8.8/armv5b-linux/Compress/Zlib.pm
and one in opt/share/ss65/CPAN/Compress/Zlib.pm.
When I found "your" file I recognized that there were no permissions to execute so I changed permissions-and I thougt that Zlib was loaded and slimserver.pl ran through to its end - once. I had made so many changes before that I made e new, clean installation - but I never came back to the point that zlib was loaded. Very strange. I thought I came closer, but I did not. Should I buy an fsg3?
Any more ideas?
Thanks, Ivan

2007-07-08, 14:37
You can't buy fsg3 anymore - for the same money there are better NASs available now.

SS 6.5.x does not run very well on NSLU2 - is there a reason for 6.5.x rather than using 6.3.1 ?

If you wish to continue installing 6.5.1. For the record - list all installed packages using "ipkg list-installed". Uninstall Perl, Zlib and ss65 - use force uninstall if necessary. Delete the /home/slimserver and /opt/share/ss65 and all other ss65 files.

Install Perl, perl-comnpress-zlib and then ss65.

2007-07-09, 04:35
I am sorry to bother you but I have had some more success now, but unfortunately some things that still do not work. The zlib ist loaded and now it is this: (I think the GD is not important, is it?)
The complete startup log is attached.

The following optional modules failed to load: [GD, Locale::Hebrew] after their second try.

IO/Dir.pm did not return a true value at /opt/share/ss65/CPAN/Path/Class/Dir.pm line 9.
BEGIN failed--compilation aborted at /opt/share/ss65/CPAN/Path/Class/Dir.pm line 9.
Compilation failed in require at /opt/share/ss65/CPAN/Path/Class/File.pm line 4.
BEGIN failed--compilation aborted at /opt/share/ss65/CPAN/Path/Class/File.pm line 4.
Compilation failed in require at /opt/share/ss65/CPAN/Path/Class.pm line 10.
BEGIN failed--compilation aborted at /opt/share/ss65/CPAN/Path/Class.pm line 10.
Compilation failed in require at /opt/share/ss65/Slim/Music/Info.pm line 24.
BEGIN failed--compilation aborted at /opt/share/ss65/Slim/Music/Info.pm line 24.
Compilation failed in require at /opt/share/ss65/Slim/Utils/Misc.pm line 50.
Compilation failed in require at ./slimserver.pl line 113.
BEGIN failed--compilation aborted at ./slimserver.pl line 113.


PS I want to use 6.5.1 because 6.3.1 does not run at all. As I wrote I have used your 6.3.1 tar-ball with success until I made a new installation which did not work at all (too new perl version?). It's not important for me which version, but a working one... and I seemed to be closer with the 6.5.1.

2007-07-09, 07:22
There is something odd in your @INC setting

# ./slimserver.pl --d_startup
Got @INC containing:

There is an extra "/opt/share/ss65" compared to my setup which I think is changing the search order. I don't know where it comes from. I need to investigate.

GD is needed for album art and possibly Hebrew. There was a bug in the Perl GD module for FSG3 and and so I never tested it since I do not have alrbum art on fsg3.

6.3.1 should work as it was built for perl 5.8.8. The 6.3.1 module is also a static library build so shared library dependencies/version issues have been avoided. Have your kernel or glibc versions changed since previous installation ? What are they now ?

2007-07-09, 12:04
the whole thing is odd...
These are my kernel and glibc versions.
I have tried so much so what about trying 6-3-1 again on a new system. So I did, But still no success, see the log. It looks like nearly the same problems like I have with the 6.5.1 now.
As mentioned above I had a 6-3-1 running - and I did nothing else now.

2007-07-09, 12:28
The 6.3.1 build is totally different to the 6.5.1 - the 6.3.1 does not rely on any optware stuff - so I think the problem is something to do with your Perl or Perl installation as that is the common factor.

I assume you installed Perl as part of optware so can you post your list of optware packages using the command "ipkg list-installed".

2007-07-11, 12:35
it's me again.
It's still strange. I'm fed up with 6.5.1 now so I made further tries with 6.3.1. I made a clean new system (again), installed perl, expat and which, then slimserver. Then I started, with the same results as before (see last log). Then I changed permissions to rwx of /usr/local (where SlimServer lives) and started again - and it worked, don't ask me why. But: the telnet session stays busy, everything I do in the webinterface is shown in the telnet window, looks like a log or something. I have to close the session and open a new one to get to the commandline again.
Now the really awful things:
1.SS only starts with the --d_server command, the d_startup shows the old problem.
2. After rebooting it does NOT work. I have to change permissions again. That makes it impossible to autostart SS.
I'm really sorry, but do you have an idea?

This is the ipkg list:

# ipkg list_installed
cpio - 2.5-r3 -
expat - 2.0.1-1 - XML Parser library
findutils - 4.1.20-r2 -
gdbm - 1.8.3-2 - GNU dbm is a set of database routines that use extensible hashing. It works similar to the standard UNIX dbm routines.
ipkg - 0.99.154-r2 -
kernel - 2.4.22.l2.3r63-r10 -
kernel-image-2.4.22-xfs - 2.4.22.l2.3r63-r10 -
libc6-unslung - 2.2.5-r5 -
libdb - 4.2.52-3 - Berkeley DB Libraries
libgcc - 3.4.4-r3 -
libipkg - 0.99.154-r2 -
nslu2-linksys-libs - 2.3r63-r2 -
perl - 5.8.8-17 - Practical Extraction and Report Language.
slingbox - 1.00-r8 -
unslung-rootfs - 2.3r63-r11 -
update-modules - 1.0-r4 -
which - 2.16-3 - which prints out the full path of the executablesthat bash(1) would execute when the passed program names would have been enter

Thank you for patience

2007-07-11, 13:12
Lots of points, I'll try to address them all but I'm sure I'll miss some so don't worry about more messages.

But first some questions:
Q. Are you logged in as root or as a specific user id when running slimserver with the problem

Q. What is the owner (user & group) and permissions (owner, group and world) of /usr /usr/local at startup, before and after you make the "wrx" permissions change. Next time - try changing to "r", then "rw" then "rwx" - which ones work ?

I think some of the problem relates to user id and permissions so details & specifics are v. important. When slimserver starts - it loads modules on the search path. The "x" of the permissions enables directory searching.

Regarding your question about running slimserver and not returning to user. If the "--daemon" command line option is NOT used, Slimserver will runs as an ordinary process and stay attached to the shell. All log/debug message as well as being sent to log file are also sent to STDERR which is the terminal. If you use "--daemon" on the command line, then log output will only appear in the log file.

When slimserver starts - it tries to open with write access two files - the preferences and log files. If the existing log & pref files owner or permissions are not "right" - slimserver startup will be affected. What are the user id and permission of the preference and log file at startup before running Slimserver. What are their owner & permissions after a successful start of slimserver ?

When starting slimserver during these test, to get better info about startup progress, use --d_start, --d_server and --d_plugins

2007-07-12, 00:03
thank you for answer, I'm working on it.
One thing before I go further:
I haven't found any log (belonging to slimserver) or pref file at all ??

# find -name *.log
# find -name *.pref

2007-07-12, 00:52
First - the find command you used will have a problem because the "*" will be expanded by the shell and not be seenby find. I think you should use either
find / -name "*.pref"
find / -name \*.pref

Because I wanted to be sure where the logfile and preferences are saved and what they are called my "slimserver" script for 6.5.x defines them explicitly and uses the --logfile and --prefsfile options each time slimserver is run.

The 6.3.1 module doesn't have such a script so the file will go to their defaut unless you have used the --logfile or --prefile option. For 6.3.1. my previous comments about logfile were wrong, AFAICT from the code if no logfile is defined, then no log file will be written but the log messages will be sent to STDERR if not run as a daemon.

The preferences files will be called ".slimserver.pref" - the leading dot makes it a hidden file and so ls will not show it unless you used "-a". If the default path is used it will be saved in the directory defined by environment variable HOME.

Because slimserver can look for/store files in different places depending on OS/Distribution - I prefer to override the default to be sure slimserver uses the files and locations I want it to use and not pick up a default or try to access some odd directory.