DSM-G600, DNS-3xx and NSA-220 Hack Forum

Unfortunately no one can be told what fun_plug is - you have to see it for yourself.

You are not logged in.

Announcement

#1 2010-05-04 20:38:31

Thiam
Member
Registered: 2007-06-18
Posts: 43

SqueezeBoxServer 7.4.2 on the DNS-323

First of all:
I've had squeezebox server software version 7.3.1, 7.3.2, 7.3.3 and now 7.4.1 running on my DNS 323.
I know it's limitations, especially on a platform such as the DNS 323.
I did not buy my DNS in order to run squeezebox. It just happended that I had a spare DNS available to do it.
If you intend to buy a NAS to run squeezebox, buy a unit with more RAM and processor speed.

My setup has two receivers and two booms connected. It has swap, tmp and the logs located on a 4 GB USB stick.
7.4.x improved scanning speed dramatically (from 14 hrs  to 3 hrs now) but my controllers now have issues and I want to upgrade to 7.4.2 and test 7.5.1

I did my first install using yannick's guide on http://forums.slimdevices.com/showthrea … t=DNS-323.
After that, I became lazy and used fonz's squeezecenter fun-plugs (http://www.inreto.de/dns323/squeezecenter-funplug/)
However, new versions are released at a quick pace now it seems and I would like to reduce my dependency on someone else to get a new version up and running. I do not only want to use the system, but I also want to understand a bit how it's built up.

My goal is to have different versions installed next to each other, with symlinks pointing to the active 'working' installation. This would allow for 'easy' testing of new builds. I do not know if this is possible, given the dependencies on certain perl modules.
I liked the directory layout of the squeezecenter fun-plug, so I wanted to use my existing config as a starting point.
I renamed /ffp/lib/squeezecenter to /ffp/lib/squeezecenter-7.4.1 and created a symlink squeezeboxserver to it.
I made a copy a the database directory to a directory SBS-7.4.1 and SBS-7.4.2.
My intention was to configure each installed version with a separate database.
I modfied startup scripts and server.prefs and my 7.4.1 install was up and running again.
Then I unpacked the 7.4.2-NoCPAN tarball to /ffp/lib/squeezeboxserver-7.4.2, shut down 7.4.1, changed symlinks and config files, copied server.prefs from 7.4.1 and modified it's datadir. And tried to fired it up. And failed.
I remembered you need to compile a bunch of modules on your NAS, but alas, the squeecenter fun-plug is a minimal installation and has no compilers onboard. Not wanting to 'contaminate' my running system, I switched to a virgin DNS-323, installed fun-plug 0.5, installed MySQL using yannick's guide and installed Perl using funpkg. (well, I think I installed it correctly. 'perl Makefile.PL' works, and it tries to run slimserver.pl. I think this installs both version 5.8 and 5.10?)

Then I noticed the 7.4.2-NoCPAN tarball has changed a lot compared to it's 7.4.1 ancestor.
Directory structures have changed a bit, certain modules have been upgraded, there's a newer MySQL version included and the build-perl-modules.pl script is no longer present. There is a buildme.sh in /CPAN, but I found two problems with it:

1.

It starts with #!/bin/bash
I changed that to #!/ffp/bin/bash

2.

It searches Perl in /usr/bin/perl5.10.0 and /usr/local/bin/perl5.10.0
I changed those to /ffp/bin/perl5.10.0 and /ffp/local/bin/perl5.10.0
More references to /usr. Changed those to /ffp

After downloading all files and directories (except buildme.sh) from http://svn.slimdevices.com/repos/slim/7 … dor/CPAN/, I could run my modified buildme.sh. It stopped with a make failed:

checking "Linux threads"... "starting"
checking "getconf GNU_LIBPTHREAD_VERSION"... ./configure: line 24188: getconf: command not found
"unknown"
checking "LinuxThreads in header file comment"... "Not found"
configure: error: This is a Linux system without a working getconf,
and Linuxthreads was not found. Please install it (or a new glibc) and try again.
See the Installation chapter in the Reference Manual for more information.
make: *** No targets specified and no makefile found.  Stop.
make failed

I think it fails on fontconfig-2.6.0 or freetype-2.3.9, but that's just a wild guess. Attached is the modified buildme.sh
I already solved a lot of problems myself (took a while to realize I needed bash and not sh, for example), but I am now at a point where I need some guidance.

Last edited by Thiam (2010-05-05 15:07:31)


Attachments:
Attachment Icon buildme.sh, Size: 17,174 bytes, Downloads: 262

Offline

 

#2 2010-05-05 10:07:34

fonz
Member / Developer
From: Berlin
Registered: 2007-02-06
Posts: 1716
Website

Re: SqueezeBoxServer 7.4.2 on the DNS-323

Thiam wrote:

checking "getconf GNU_LIBPTHREAD_VERSION"... ./configure: line 24188: getconf: command not found

getconf is part of glibc, and not present on uClibc-based systems. You likely need a patch that makes the failing package compatible with uClibc.

Offline

 

#3 2010-05-05 10:18:54

fonz
Member / Developer
From: Berlin
Registered: 2007-02-06
Posts: 1716
Website

Re: SqueezeBoxServer 7.4.2 on the DNS-323

Thiam wrote:

After that, I became lazy and used fonz's squeezecenter fun-plugs (http://www.inreto.de/dns323/squeezecenter-funplug/)
However, new versions are released at a quick pace now it seems and I would like to reduce my dependency on someone else to get a new version up and running. I do not only want to use the system, but I also want to understand a bit how it's built up.

Some of the perl modules are compiled into machine code. I remove them from the CPAN directory, and install them separately (see http://www.inreto.de/dns323/fun-plug/0. … ages/perl/ )
I don't use the buildme.sh script at all, nor do I have freetype or fontconfig installed - at least 7.4.1 is working fine without. Yesterday, I tried 7.5.0, and all I had to do so far was to upgrade perl-mod-Audio-Scan.

Offline

 

#4 2010-05-05 14:58:27

Thiam
Member
Registered: 2007-06-18
Posts: 43

Re: SqueezeBoxServer 7.4.2 on the DNS-323

I tried using the buildme.sh script because, well it's what Logitech provides and it contains all the right switches and options for the supported platforms. I tried compiling (tar, make, make install) all Logitech supplied modules manually, but the new versions didn't seem to get installed or something. SqueezeBoxServer 7.4.2 kept complaining about the version of Audio::Scan. That's why I tried using the buildme.sh script. I didn't know you had to delete the original versions in the CPAN directory.
I deleted CPAN/Audio and recompiled only Audio::Scan using my modified buildme.sh and behold: it works (on fun_plug 0.5)!
Thanks for the hint on deleting the original module in /CPAN.

[Added] It doesn't work on the SqueezeCenter fun_plug.
I've added bash-3.2-3.tgz and gcc-4.1-2.tgz to the default installation.

checking build system type... armv5tejl-unknown-linux-gnueabi
checking host system type... armv5tejl-unknown-linux-gnueabi
checking for gcc... distcc gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables
See `config.log' for more details.
make: *** [libid3tag/Makefile] Error 77

Last edited by Thiam (2010-05-05 15:35:47)

Offline

 

#5 2010-05-06 09:29:03

fonz
Member / Developer
From: Berlin
Registered: 2007-02-06
Posts: 1716
Website

Re: SqueezeBoxServer 7.4.2 on the DNS-323

you need a lot more than gcc to compile programs.

Offline

 

#6 2010-05-06 20:04:55

Thiam
Member
Registered: 2007-06-18
Posts: 43

Re: SqueezeBoxServer 7.4.2 on the DNS-323

fonz wrote:

you need a lot more than gcc to compile programs.

So I did the compiles on my fun_plug 0.5 system and copied over the files it generated in following directories to my SC funplug system.

/mnt/HD_a2/ffp/lib/perl5/site_perl/5.10.0/arm-linux-thread-multi   and
/mnt/HD_a2/ffp/lib/perl5/site_perl/5.10.0/arm-linux-thread-multi/auto

I didn't get it working by only compiling Audio::Scan.
I also had to compile YAML::SYCK and Template. I struggeled a lot with permissions on the copied files and in my unpacked SqueezeBoxServer-7.4.2 directory. I finally got it running except for the scanner. The web interface works, and I can connect SoftSqueeze and play songs (I copied the database from 7.4.1). When I try to start the scanner (wipe & rescan), slimserver.pl outputs these line:

Code:

The following modules failed to load: DBI DBD::mysql HTML::Parser


*******

NOTE:

Please use the buildme.sh script located here:
http://svn.slimdevices.com/repos/slim/7.4/trunk/vendor/CPAN/

If 7.4 is outdated by the time you read this, Replace "7.4" with the major version
of Squeezebox Server you are running.

*******


Exiting..

More compiling to do, I guess. These lines do not show up in server.log (not with default debug level)
I see them because I start slimserver manually from te command line, not using nohup.

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2010 PunBB