Updating Perl
The current version of Perl provided by ClarkConnect is 5.8.5 and works fine with 'vanilla' installations of SqueezeCenter, but if you are going to use a SqueezeBox Controller you have to install a newer version of Perl. This is because there is a known problem with Perl-5.8.5 that crashes SqueezeCenter when the CLI is used.
There's no official ClarkConnect Perl update package available so you have to manually compile and install the latest version of Perl.
Installing Perl 5.8.8
First you have to install the development package (if you haven't already), log into PuTTY as root and enter:
apt-get update
apt-get clean
apt-get install cc-devel
It's probably a good point to shutdown SqueezeCenter, so enter:
service squeezecenter stop
Create directories for the new Perl installation:
mkdir /usr/local/bin/myperl
mkdir /usr/local/bin/myperl/bin
Download the latest Perl 5.8.8 to the /tmp directory and unpack:
cd /tmp
wget http://cpan.org/src/perl-5.8.8.tar.gz
tar -xzvf perl-5.8.8.tar.gz
cd perl-5.8.8
(Check the URL and file name above is
the latest from the Perl website here:
http://www.perl.com/download.csp )
Enter the following to configure your new Perl:
sh Configure -Dusethreads -Dprefix=/usr/local/bin/myperl -Uinstallusrbinperl
Press "Return" to accept the default options except when prompted for: "Colon-separated list of additional directories for Perl to search [none]"; enter the following:
/usr/lib/perl5/5.8.5/i386-linux-thread-multi:/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi:/usr/lib/perl5/vendor_perl/5.8.5
When the configuration has finished, enter the following to compile, test and install Perl:
make
make test
make install
Now just a bit of tidying, renaming the original Perl binary and adding a couple of symbolic links:
mv /usr/bin/perl /usr/bin/perl-old
ln -s /usr/local/bin/myperl/bin/perl /usr/bin/perl
ln -s /usr/lib/perl5/vendor_perl/Slim /usr/local/bin/myperl/lib/site_perl/Slim
If you enter the command perl -v in PuTTY you should be told you have the latest version of Perl installed.
Finally restart SqueezeCenter and check you are now using Perl 5.8.8 (under Settings - Status).
service squeezecenter start