Jump to content
jimwhite

Has anyone "ported" Slimserver to UnRaid ??

31 posts in this topic Last Reply

Recommended Posts

As title suggests I'm interested in getting Slimserver to run on my unraid box (which has 3 TB's of wma lossless files) now that I have my Squeezebox 3.  Anyone?

 

Jim

 

Share this post


Link to post

i'll second that...i love Slimserver, and while it's possible to have it running on another machine, indexing the unRAID contents, it's one of those scripts that would make a beautiful union with unRAID...would it require to have a full version of Apache/PHP running on unRAID first, or is there a more "self-included" way to do it? what are the dependencies, in other words?

Share this post


Link to post

I do not believe it requires apache/php.

 

I believe it has embedded http support.

However, it does require perl and a bunch of it's own libraries.

 

One of the caveats here is the amount of Ram it may require for indexing.

In addition, I do not remember how often it will scan the file system for new files (or if it is manual).

 

It's been a while since I've used it.

 

I'm sure it's feasible to get it installed.

My concern would be how much ram will it require.

 

Remember that the root filesystem is also in ram, so any additional software laying on the root filesystem consumes ram, then the program's data space takes up ram.

 

I'm contemplating the notion of having /usr/local mounted via loopback with a container filesystem on /boot.

I.E.  much like having swap using a file instead of a partition.

This would allow packages to be installed on /usr/local and stay installed.

Then upon startup mounting /usr/local via loopback with the customized filesystem.

 

Requirements in root memory would be less at the expense of speed in /usr/local and possible lifetime of the /boot flash key.

Care would have to be taken so that it is not written to constantly.

 

 

 

 

 

Share this post


Link to post

You could probably just make a symbolic link from /usr/local to /mnt/disk1/local

 

then, you have tons of space available.  (well, if not "tons", at least as much as you have on one of the hard-disks)

Share this post


Link to post

as far as the indexing goes, Slimserver gives you the option of using the iTunes library to pull its data from...since many of us are already placing the iTunes library on the unRAID server (at least i do), it may minimize the amount of "work" Slimserver has to do.

 

as far as RAM goes, many (if not most?) of us have 1GB in our unRAID, some of us even more, in anticipation of Tom's hint at including additional processor cores and RAM into unRAID's awareness...my gut feeling is that Slimserver could easily work with what's left of even 1GB after unRAID took its share...but my gut may just be plain wrong.

 

certainly an interesting prospect to get it working...i've researched audio servers for months and found Slimserver far superior to anything else out there...great developer community as well.

Share this post


Link to post

> i've researched audio servers for months and found Slimserver far superior to anything else out there...great developer community as well.

Unless you have a huge library like me. 
With over 60,000 mp3's slim server is a bit painful/
I'm sure I could get it working.. The requirements aren't too hard to satisfy. 
It just never did much for me.

I figured I would toss a few moments at it with a play by play. 



[code]
untarred squeeze center takes 75M. Perl 38M
root@unraid:/mnt/user/unraid# du -hs squeezecenter-7.0-17793 
75M     squeezecenter-7.0-17793

root@unraid:/mnt/user/unraid# du -hs local 
38M     local

 

root@unraid:/mnt/user/unraid# ROOT=/mnt/user/unraid/local installpkg packages/perl-5.8.8-i486-6.tgz 
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package perl-5.8.8-i486-6... 
PACKAGE DESCRIPTION:
perl: perl (Practical Extraction and Report Language)
perl:
perl: Larry Wall's "Practical Extraction and Report Language".  Perl is a
perl: language optimized for scanning arbitrary text files, extracting
perl: information from those text files, and printing reports based on that
perl: information.  It's also a good language for many system management
perl: tasks.  The language is intended to be practical (easy to use,
perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).
perl:
Executing install script for perl-5.8.8-i486-6...
ln: creating symbolic link `perl' to `perl5.8.8': Function not implemented
ln: creating symbolic link `psed' to `s2p': Function not implemented
ln: creating symbolic link `pstruct' to `c2ph': Function not implemented
ln: creating symbolic link `pstruct.1.gz' to `c2ph.1.gz': Function not implemented
ln: creating symbolic link `psed.1.gz' to `s2p.1.gz': Function not implemented

 

Ut Oh.. seems like we don't support symlinks....

Nor hardlinks

 

root@unraid:/mnt/user/unraid/local/usr/bin# ln perl5.8.8 perl

ln: creating hard link `perl' to `perl5.8.8': Function not implemented

 

root@unraid:/mnt/user/unraid/local/usr/bin# cp perl5.8.8 perl

 

phew good old CP.

 

root@unraid:/mnt/user/unraid/local/usr/bin# perl

perl: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by perl)

 

Oh more dependancies....

 

root@unraid:/mnt/user/unraid# ROOT=/mnt/user/unraid/local installpkg packages/glibc-solibs-2.7-i486-6.tgz  
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package glibc-solibs-2.7-i486-6... 
PACKAGE DESCRIPTION:
glibc-solibs: glibc-solibs (shared GNU C libraries)
glibc-solibs:
glibc-solibs: This package contains the shared libraries, binaries, and support
glibc-solibs: files required to run most Linux applications linked with glibc.
glibc-solibs:
Executing install script for glibc-solibs-2.7-i486-6...
sbin/ldconfig: Can't open configuration file /etc/ld.so.conf: No such file or directory
/sbin/ldconfig: Can't link ./ld-linux.so.2 to ld-2.7.so
/sbin/ldconfig: Can't link ./libBrokenLocale.so.1 to libBrokenLocale-2.7.so
/sbin/ldconfig: Can't link ./libanl.so.1 to libanl-2.7.so
/sbin/ldconfig: Can't link ./libc.so.6 to libc-2.7.so
/sbin/ldconfig: Can't link ./libcidn.so.1 to libcidn-2.7.so
/sbin/ldconfig: Can't link ./libcrypt.so.1 to libcrypt-2.7.so
/sbin/ldconfig: Can't link ./libdl.so.2 to libdl-2.7.so
/sbin/ldconfig: Can't link ./libm.so.6 to libm-2.7.so
/sbin/ldconfig: Can't link ./libnsl.so.1 to libnsl-2.7.so
/sbin/ldconfig: Can't link ./libnss_compat.so.2 to libnss_compat-2.7.so
/sbin/ldconfig: Can't link ./libnss_dns.so.2 to libnss_dns-2.7.so
/sbin/ldconfig: Can't link ./libnss_files.so.2 to libnss_files-2.7.so
/sbin/ldconfig: Can't link ./libnss_hesiod.so.2 to libnss_hesiod-2.7.so
/sbin/ldconfig: Can't link ./libnss_nis.so.2 to libnss_nis-2.7.so
/sbin/ldconfig: Can't link ./libnss_nisplus.so.2 to libnss_nisplus-2.7.so
/sbin/ldconfig: Can't link ./libpthread.so.0 to libpthread-2.7.so
/sbin/ldconfig: Can't link ./libresolv.so.2 to libresolv-2.7.so
/sbin/ldconfig: Can't link ./librt.so.1 to librt-2.7.so
/sbin/ldconfig: Can't link ./libthread_db.so.1 to libthread_db-1.0.so
/sbin/ldconfig: Can't link ./libutil.so.1 to libutil-2.7.so

 

The requirements are building

 

root@unraid:/mnt/user/unraid# du -hs local

49M    local

Ok let's put it on root

 

root@unraid:/mnt/user/unraid# installpkg packages/glibc-solibs-2.7-i486-6.tgz   WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package glibc-solibs-2.7-i486-6... 
PACKAGE DESCRIPTION:
glibc-solibs: glibc-solibs (shared GNU C libraries)
glibc-solibs:
glibc-solibs: This package contains the shared libraries, binaries, and support
glibc-solibs: files required to run most Linux applications linked with glibc.
glibc-solibs:
Executing install script for glibc-solibs-2.7-i486-6...

 

OK that worked

 

root@unraid:/mnt/user/unraid/local/usr/bin# ./perl
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

 

Hmmm...

OK, let's drop it perl on the root system for now.

 

code]

root@unraid:/mnt/user/unraid# installpkg packages/perl-5.8.8-i486-6.tgz

WARNING: pkgtools are unstable with tar > 1.13.

        You should provide a "tar-1.13" in your $PATH.

Installing package perl-5.8.8-i486-6...

PACKAGE DESCRIPTION:

perl: perl (Practical Extraction and Report Language)

perl:

perl: Larry Wall's "Practical Extraction and Report Language".  Perl is a

perl: language optimized for scanning arbitrary text files, extracting

perl: information from those text files, and printing reports based on that

perl: information.  It's also a good language for many system management

perl: tasks.  The language is intended to be practical (easy to use,

perl: efficient, complete) rather than beautiful (tiny, elegant, minimal).

perl:

Executing install script for perl-5.8.8-i486-6...

[/code]

 

root@unraid:/mnt/user/unraid/squeezecenter-7.0-17793/Bin# ./build-perl-modules.pl 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Can't locate File/Which.pm in @INC (@INC contains: /usr/local/slimserver/CPAN /usr/share/squeezecenter/CPAN CPAN /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at ./build-perl-modules.pl line 20.
BEGIN failed--compilation aborted at ./build-perl-modules.pl line 20.

root@unraid:/mnt/user/unraid# ln -s /mnt/user/unraid/squeezecenter-7.0-17793 /usr/local/slimserver

root@unraid:/usr/local/slimserver/Bin# ./build-perl-modules.pl 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Welcome to the Slim Devices perl module installer.

These packages are needed for SqueezeCenter to function.
You will need a C compiler (gcc), make, and perl installed.

You will need development libraries for MySQL. eg: libmysqlclient

You will need development libraries for expat. eg: libexpat1-dev

*** Ignore any warnings about AppConfig. ***

Please enter a perl binary to use (defaults to /usr/bin/perl)
This must be the same perl binary that you ran this program with --> 
Please enter the path to your SqueezeCenter directory (ex: /usr/local/slimserver) --> 
Please enter a directory to download files to --> 
Downloads will use lwp to fetch tarballs.

Downloading Compress-Zlib-1.41.tar.gz to: /mnt/user/unraid/squeezecenter-7.0-17793/Bin
Can't locate auto/Compress/Zlib/autosplit.ix in @INC (@INC contains: /usr/local/slimserver/CPAN /usr/share/squeezecenter/CPAN CPAN /usr/lib/perl5/5.8.8/i486-linux-thread-multi /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i486-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/5.8.8/AutoLoader.pm line 160, <STDIN> line 3.
at /usr/local/slimserver/CPAN/Compress/Zlib.pm line 15
Uncompressing..
Configuring..
/usr/bin/perl Makefile.PL 
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_COLLATE = "C",
        LANG = "en_US"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
Up/Downgrade complete.
Building..
Can't exec "make": No such file or directory at ./build-perl-modules.pl line 245, <STDIN> line 3.
Can't stat blib: No such file or directory
at ./build-perl-modules.pl line 297
Couldn't find a valid dynamic library for Compress-Zlib-1.41.tar.gz - something is wrong. Exiting!

 

The dependancies mount....

 

root@unraid:/mnt/user/unraid/packages# installpkg make-3.81-i486-1.tgz 
WARNING: pkgtools are unstable with tar > 1.13.
         You should provide a "tar-1.13" in your $PATH.
Installing package make-3.81-i486-1... 
PACKAGE DESCRIPTION:
make: make (GNU make utility to maintain groups of programs)
make:
make: This is the GNU implementation of make, which was written by Richard
make: Stallman and Roland McGrath.  The purpose of the make utility is to
make: determine automatically which pieces of a large program need to be 
make: recompiled, and issue the commands to recompile them.  
make:
make: This is needed to compile just about any major C program, including
make: the Linux kernel.
make:
Executing install script for make-3.81-i486-1...

 

/bin/sh: cc: command not found
make: *** [Zlib.o] Error 127
Couldn't find a valid dynamic library for Compress-Zlib-1.41.tar.gz - something is wrong. Exiting!

 

Gcc is required... (at least for the initial build.)

OK, time to do this on a development system.... rather then directly on unraid...

 

Till another day..

 

Hope you got a hint of the work involved with the play by play.

Share this post


Link to post
Hope you got a hint of the work involved with the play by play.

 

haha, yes indeed i am beginning to see how much is involved...and how well you know your chops...'spect WeeboTech!

 

well, since Tom had mentioned Slimserver in his future possibilities, maybe there will be light at the end of the tunnel...in the meantime, i'm quite happy with leaving unRAID to do its thing, and using my W2K3 Server to handle the rest.

 

Share this post


Link to post

I'll come back to it another time.

right now I'm fine tuning mt-daapd for another member.

 

We'll see if I can get slimserver running as a packaged install.

It will be one less thing for Tom to do.

heh, it's the least I could do.

 

 

Share this post


Link to post
We'll see if I can get slimserver running as a packaged install.

What kind of beer or wine do you drink?  :D

 

I'll be watching this thread, for sure  ;D

 

Share this post


Link to post

We'll see if I can get slimserver running as a packaged install.

What kind of beer or wine do you drink?  :D

 

No Alcohol for me.. gotta keep my wits about me so I can program cool things like this  ;)

Share this post


Link to post

Just came into the "User Customizations" to ask whether anyone has ported "Slimserver" and this thread is already here.

 

With the release of the new "Sonos-Beating" Squeezebox Duet players I think this is going to be a popular request very soon.

http://www.slimdevices.com/pi_duet.html

 

Thanks for trying Weebotech!

 

Mark.

Share this post


Link to post

Wanted to add a +1 here. My Twonky eval period is just about over, and it just doesn't seem worth paying the $40 for it. I'd be happy to put something similar (or more) into a SlimServer solution for UnRAID.

 

No Beer, huh? How about gourmet coffee or tea?

 

 

Share this post


Link to post

It works fine on my unRAID box.... install a full Slackware distro with Perl, and add unRAID to it per my previous post.  Then installing Slimserver (aka SqueezeCenter) is simple.

Share this post


Link to post

It works fine on my unRAID box.... install a full Slackware distro with Perl, and add unRAID to it per my previous post.  Then installing Slimserver (aka SqueezeCenter) is simple.

 

heh, i just took a look at ur previous post and just confused the hell outta me :/....no simple "install.exe" packages ;) hehehe

Share this post


Link to post

I have Slimserver working now in BubbaRaid.  I plan to include it in the next version.

 

It was a bear to set up blind, as I don't have a slimserver player.... then I found out that you can emulate one with VLC. ;D

 

This pig is HUGE however, so I can't build it into the ramdisk, and I can mount it via cramfs since it has to write back to several files.  Plus, it has to be persistent for its database and playlists.

 

So it can go on the flash, or on the unRAID array.... which do you want?  If on the array, we need to pick a default location, such as /mnt/disk1/slimserver

Share this post


Link to post

I can't make it configurable.... at least not yet.

 

As far as mounting another filesystem, that's doesn't get me anything as I can just symlink to native files on the flash.  The only reason to mount another filesystem is if it can be compressed, such as cramfs.... but cramfs mounts are read-only.  There are some other alternatives, but they are heavy and some require non-standard kernel mods.

Share this post


Link to post

Really pleased you've managed to get slimserver to work.

 

My vote would be to keep everything together if possible ie on the flash. If we were to put it on the flash, how much room does it take?

Share this post


Link to post
My vote would be to keep everything together if possible ie on the flash. If we were to put it on the flash, how much room does it take?

 

120megs ... plus the size of your database

 

yes.... it is that big.

 

 

Share this post


Link to post

Crikey, thats about twive the size of the windows program folder which I expect holds the database, I assume the database being just the sql folders which aren't very big.

 

Plenty of room on my flash drive and by installing on the flash it also means system drives don't spin up but I suppose I could just have it on the same drive as my music, if that has to be drive 1 then thats fine by me, I'll just have a shuffle about.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.