Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Logitech's Squeezeboxserver will not work on 11.3

46 views
Skip to first unread message

jamesromeongmail.com

unread,
Jul 15, 2010, 8:46:01 PM7/15/10
to
Squeezeboxserver worked properly on 11.2
I just installed squeezeboxserver 7.5.1 on my 64-bit OpenSUSE 11.3.
When I try to start it, I get:
:/etc/init.d # ./squeezeboxserver start
Starting Squeezebox Server: Can't locate Slim/bootstrap.pm in @INC
(@INC contains: /usr/libexec /usr/lib/perl5/site_perl/5.12.1/x86_64-
linux-thread-multi /usr/lib/perl5/site_perl/5.12.1 /usr/lib/perl5/
vendor_perl/5.12.1/x86_64-linux-thread-multi /usr/lib/perl5/
vendor_perl/5.12.1 /usr/lib/perl5/5.12.1/x86_64-linux-thread-multi /
usr/lib/perl5/5.12.1 .) at /usr/libexec/squeezeboxserver line 131.
BEGIN failed--compilation aborted at /usr/libexec/squeezeboxserver
line 131.
startproc: exit status of parent of /usr/libexec/squeezeboxserver: 2

perl is installed. What is wrong?

I searched for Slim/bootstrap.pm. It is in /usr/lib/perl5/vendor_perl,
which does not seem to be in the search path! So I moved Slim/
bootstrap.pm to /usr/lib/perl5/vendor_perl/5.12.1
Now it gets further:

./squeezeboxserver start
Starting Squeezebox Server: Use of inherited AUTOLOAD for non-method
YAML::Syck:umpYAML() is deprecated at /usr/share/squeezeboxserver/CPAN/
YAML/Syck.pm line 65.
The following modules failed to load: DBD::mysql EV JSON::XS
YAML::Syck GD Sub::Name


*******

NOTE:

If you're running some unsupported Linux/Unix platform, please use the
buildme.sh
script located here:

http://svn.slimdevices.com/repos/sli...k/vendor/CPAN/

You should never need to do this if you're on Windows or Mac OSX. If
the installers
don't work for you, ask for help and/or report a bug.

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

*******

Exiting..
-------------------------------

And I looked at that build script, and tried to make squeezeboxserver
from source. The install.txt file seems to have no bearing on reality.
And the build script also does not work and references non-existent
things. I used to build it from source many years ago. As I recall,
the perl program downloaded all the necessary files. The buildme.sh
does not. I tried to download all the modules from CPAN, but got stuck
when it wanted to install mysql. I already have it installed, and do
not want 2 versions bouncing around. So I am very stuck. The script
also references very old versions of the modules.

Clearly the slimserver perl program needs modification to work on
OpenSUSE 11.3. I am willing to test things, but need some guidance.

Thanks,
Jim

WLS

unread,
Jul 15, 2010, 10:43:27 PM7/15/10
to

There was an update release yesterday, if that's any help.

http://www.wegotserved.com/2010/06/14/add-in-update-squeezebox-server-v7-5-1/

jamesromeongmail.com

unread,
Jul 16, 2010, 10:24:41 AM7/16/10
to
> http://www.wegotserved.com/2010/06/14/add-in-update-squeezebox-server...

I had actually installed 7.5.1. And I just tried the beta of 7.5.2. It
does not work either.

J G Miller

unread,
Jul 16, 2010, 10:28:12 AM7/16/10
to
On Fri, 16 Jul 2010 07:24:41 -0700, jamesromeongmail.com wrote:
>
> On Jul 15, 10:43 pm, WLS <rafte...@verizonREMOVE.net> wrote:
>> > The following modules failed to load: DBD::mysql EV JSON::XS
>> > YAML::Syck GD Sub::Name
>>
> I had actually installed 7.5.1. And I just tried the beta of 7.5.2. It
> does not work either.

If it is complaining that some PERL modules are not on the system,
either install the relevant PERL module rpms from Yast, or if they
are not available, install them using CPAN.

jamesromeongmail.com

unread,
Jul 17, 2010, 9:21:06 AM7/17/10
to

> If it is complaining that some PERL modules are not on the system,
> either install the relevant PERL module rpms from Yast, or if they
> are not available, install them using CPAN.

Slim said they do not support the latest version of Perl. Do the CPAN
modules have to match the perl version? How does one use CPAN? I would
hope that things are not so sensitive to version numbers...

Thanks,
Jim

J G Miller

unread,
Jul 17, 2010, 11:44:46 AM7/17/10
to
On Saturday, July 17th, 2010 at 06:21:06h -0700, James Romeon wrote:

> Slim said they do not support the latest version of Perl.

All depends on what they mean by "latest" and "version" and "support".

> Do the CPAN modules have to match the perl version?

Which PERL version?

> How does one use CPAN?

Very easily.

As root enter the command cpan. If it is not found then you will
have to install the cpan package.

The first thing to do is to upgrade

cpan> upgrade

then

cpan> install "module_name"

When running cpan for the first time, it will ask for quite a lot
of configuration information, but most of this can be set to
the default value suggested.

It is best to install "custom" installed modules under /usr/local
so as not to contaminate the purity of the installed openSUSE package
hierarchy under /usr.

Darrell Stec

unread,
Jul 17, 2010, 2:17:45 PM7/17/10
to
J G Miller wrote:


Great tips.

--
Later,
Darrell

J G Miller

unread,
Jul 17, 2010, 3:06:39 PM7/17/10
to
On Saturday, July 17th, 2010 at 14:17:45h -0400, Darrell Stec wrote:
>
> Great tips.

I just hope that this will get his Squeezebox server working again.

Incidentally, is it possible to use MediaTomb as a media server
for Squeezebox or not?

I used to be very keen on uShare as a media server, but the project
has died, and decided on MediaTomb as a replacement.

Anybody else out there using MediaTomb with a Noxon audio device perchance?

jamesromeongmail.com

unread,
Jul 18, 2010, 3:03:27 PM7/18/10
to
On Jul 17, 11:44 am, J G Miller <mil...@yoyo.ORG> wrote:
> On Saturday, July 17th, 2010 at 06:21:06h -0700, James Romeon wrote:
> > Slim said they do not support the latest version of Perl.
>
> All depends on what they mean by "latest" and "version" and "support".
>
> > Do the CPAN modules have to match the perl version?
>
> Which PERL version?

>


> It is best to install "custom" installed modules under /usr/local
> so as not to contaminate the purity of the installed openSUSE package
> hierarchy under /usr.

Thank for the tips. They support perl 5.08 I think. I overwrote it in
my build file.
Here is what I have so far:
#!/bin/bash
#
# $Id$
#
# This script builds all binary Perl modules required by Squeezebox
Server.
#
# Supported OSes:
#
# Linux (Perl 5.8.8 & 5.12.1)
# i386/x86_64 Linux
# ARM Linux
# PowerPC Linux
# Mac OSX 10.5, 10.6, (Perl 5.8.8 & 5.12.1)
# Under 10.5, builds Universal Binaries for i386/ppc
# Under 10.6, builds Universal Binaries for i386/x86_64
# FreeBSD 7.2 (Perl 5.8.9)

OS=`uname`

# get system arch, stripping out extra -gnu on Linux
ARCH=`/usr/bin/perl -MConfig -le 'print $Config{archname}' | sed 's/
gnu-//' | sed 's/^i[3456]86-/i386-/' `

if [ $OS = "Linux" -o $OS = "Darwin" -o $OS = "FreeBSD" ]; then
echo "Building for $OS / $ARCH"
else
echo "Unsupported platform: $OS, please submit a patch or provide
us with access to a development system."
exit
fi

# Build dir
BUILD=$PWD/build

# Path to Perl 5.8.8
if [ -x "/usr/bin/perl5.8.8" ]; then
PERL_58=/usr/bin/perl5.8.8
elif [ -x "/usr/local/bin/perl5.8.8" ]; then
PERL_58=/usr/local/bin/perl5.8.8
elif [ -x "/usr/local/bin/perl5.8.9" ]; then # FreeBSD 7.2
PERL_58=/usr/local/bin/perl5.8.9
fi

if [ $PERL_58 ]; then
echo "Building with Perl 5.8.x at $PERL_58"
fi

# Install dir for 5.8
BASE_58=$BUILD/5.8

# Path to Perl 5.12.1
if [ -x "/usr/bin/perl" ]; then
PERL_512=/usr/bin/perl
elif [ -x "/usr/local/bin/perl5.12.1" ]; then
PERL_512=/usr/local/bin/perl5.12.1
fi

if [ $PERL_512 ]; then
echo "Building with Perl 5.12 at $PERL_512"
fi

# Install dir for 5.12
BASE_512=$BUILD/5.12

# Require modules to pass tests
RUN_TESTS=1

FLAGS=""
# Mac-specific flags
if [ $OS = "Darwin" ]; then
if [ $PERL_58 ]; then
# build 32-bit version
FLAGS="-arch i386 -arch ppc -isysroot /Developer/SDKs/
MacOSX10.4u.sdk -mmacosx-version-min=10.3"
elif [ $PERL_512 ]; then
# Build 64-bit version
FLAGS="-arch x86_64 -arch i386 -isysroot /Developer/SDKs/
MacOSX10.5.sdk -mmacosx-version-min=10.5"
fi
fi

# FreeBSD's make sucks
if [ $OS = "FreeBSD" ]; then
if [ !-x /usr/local/bin/gmake ]; then
echo "ERROR: Please install GNU make (gmake)"
exit
fi
export GNUMAKE=/usr/local/bin/gmake
export MAKE=/usr/local/bin/gmake
else
export MAKE=/usr/bin/make
fi

# Clean up
# XXX command-line flag to skip cleanup
rm -rf $BUILD

mkdir $BUILD

# $1 = module to build
# $2 = Makefile.PL arg(s)
function build_module {
tar zxvf $1.tar.gz
cd $1
cp -R ../hints .
if [ $PERL_58 ]; then
# Running 5.8
export PERL5LIB=$BASE_58/lib/perl5

$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58 $2
if [ $RUN_TESTS -eq 1 ]; then
make test
else
make
fi
if [ $? != 0 ]; then
if [ $RUN_TESTS -eq 1 ]; then
echo "make test failed, aborting"
else
echo "make failed, aborting"
fi
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
export PERL5LIB=$BASE_512/lib/perl5

$PERL_512 Makefile.PL INSTALL_BASE=$BASE_512 $2
if [ $RUN_TESTS -eq 1 ]; then
make test
else
make
fi
if [ $? != 0 ]; then
if [ $RUN_TESTS -eq 1 ]; then
echo "make test failed, aborting"
else
echo "make failed, aborting"
fi
exit $?
fi
make install
fi
cd ..
rm -rf $1
}

function build_all {
build Audio::Scan
build AutoXS::Header
build Class::C3::XS
build Class::XSAccessor
build Class::XSAccessor::Array
build Compress::Raw::Zlib
build DBI
build DBD::mysql
build Digest::SHA1
build EV
build Encode::Detect
build GD
build HTML::Parser
build JSON::XS
build Locale::Hebrew
build Sub::Name
build Template
build XML::Parser
build YAML::Syck
}

function build {
case "$1" in
AutoXS::Header)
# AutoXS::Header support module
build_module AutoXS-Header-1.02
;;

Class::C3::XS)
if [ $PERL_58 ]; then
tar zxvf Class-C3-XS-0.11.tar.gz
cd Class-C3-XS-0.11
patch -p0 < ../Class-C3-XS-no-ckWARN.patch
cp -R ../hints .
export PERL5LIB=$BASE_58/lib/perl5

$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58 $2
if [ $RUN_TESTS -eq 1 ]; then
make test
else
make
fi
if [ $? != 0 ]; then
if [ $RUN_TESTS -eq 1 ]; then
echo "make test failed, aborting"
else
echo "make failed, aborting"
fi
exit $?
fi
make install
make clean
cd ..
rm -rf Class-C3-XS-0.11
fi
;;

Class::XSAccessor)
build_module Class-XSAccessor-1.05
;;

Class::XSAccessor::Array)
build_module Class-XSAccessor-Array-1.04
;;

Compress::Raw::Zlib)
build_module Compress-Raw-Zlib-2.027
;;

DBI)
build_module DBI-1.611
;;

Digest::SHA1)
build_module Digest-SHA1-2.13
;;

EV)
build_module common-sense-2.0

# custom build to apply pthread patch
export PERL_MM_USE_DEFAULT=1

tar zxvf EV-3.8.tar.gz
cd EV-3.8
if [ $OS = "Darwin" ]; then
if [ $PERL_58 ]; then
patch -p0 < ../EV-fixes.patch # patch to disable
pthreads and one call to SvREADONLY
fi
fi
cp -R ../hints .
if [ $PERL_58 ]; then
# Running 5.8
export PERL5LIB=$BASE_58/lib/perl5

$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58 $2
if [ $RUN_TESTS -eq 1 ]; then
make test
else
make
fi
if [ $? != 0 ]; then
if [ $RUN_TESTS -eq 1 ]; then
echo "make test failed, aborting"
else
echo "make failed, aborting"
fi
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
export PERL5LIB=$BASE_512/lib/perl5

$PERL_512 Makefile.PL INSTALL_BASE=$BASE_512 $2
if [ $RUN_TESTS -eq 1 ]; then
make test
else
make
fi
if [ $? != 0 ]; then
if [ $RUN_TESTS -eq 1 ]; then
echo "make test failed, aborting"
else
echo "make failed, aborting"
fi
exit $?
fi
make install
fi
cd ..
rm -rf EV-3.8

export PERL_MM_USE_DEFAULT=
;;

Encode::Detect)
build_module Data-Dump-1.15
build_module ExtUtils-CBuilder-0.260301
RUN_TESTS=0
build_module Module-Build-0.35
RUN_TESTS=1
build_module Encode-Detect-1.00
;;

HTML::Parser)
build_module HTML-Tagset-3.20
build_module HTML-Parser-3.60
;;

JSON::XS)
build_module JSON-XS-2.232
;;

Locale::Hebrew)
build_module Locale-Hebrew-1.04
;;

Sub::Name)
build_module Sub-Name-0.04
;;

YAML::Syck)
build_module YAML-Syck-1.05
;;

Audio::Scan)
build_module Audio-Scan-0.83
;;

Template)
# Template, custom build due to 2 Makefile.PL's
tar zxvf Template-Toolkit-2.21.tar.gz
cd Template-Toolkit-2.21
cp -R ../hints .
cp -R ../hints ./xs
if [ $PERL_58 ]; then
# Running 5.8
$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58 TT_ACCEPT=y
TT_EXAMPLES=n TT_EXTRAS=n
make # minor test failure, so don't test
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
$PERL_512 Makefile.PL INSTALL_BASE=$BASE_512
TT_ACCEPT=y TT_EXAMPLES=n TT_EXTRAS=n
make # minor test failure, so don't test
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
fi
cd ..
rm -rf Template-Toolkit-2.21
;;

DBD::mysql)
# Build libmysqlclient
tar jxvf mysql-5.1.37.tar.bz2
cd mysql-5.1.37
CC=gcc CXX=gcc \
CFLAGS="-O3 -fno-omit-frame-pointer $FLAGS" \
CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors
-fno-exceptions -fno-rtti $FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking \
--enable-thread-safe-client \
--without-server --disable-shared --without-docs --
without-man
make
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..
rm -rf mysql-5.1.37

# DBD::mysql custom, statically linked with libmysqlclient
tar zxvf DBD-mysql-3.0002.tar.gz
cd DBD-mysql-3.0002
cp -R ../hints .
mkdir mysql-static
cp $BUILD/lib/mysql/libmysqlclient.a mysql-static
if [ $PERL_58 ]; then
# Running 5.8
export PERL5LIB=$BASE_58/lib/perl5

$PERL_58 Makefile.PL --mysql_config=$BUILD/bin/
mysql_config --libs="-Lmysql-static -lmysqlclient -lz -lm"
INSTALL_BASE=$BASE_58
make
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
export PERL5LIB=$BASE_512/lib/perl5

$PERL_512 Makefile.PL --mysql_config=$BUILD/bin/
mysql_config --libs="-Lmysql-static -lmysqlclient -lz -lm"
INSTALL_BASE=$BASE_512
make
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
fi
cd ..
rm -rf DBD-mysql-3.0002
;;

XML::Parser)
# build expat
tar zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking
make
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..

# Symlink static versions of libraries to avoid OSX linker
choosing dynamic versions
cd build/lib
ln -sf libexpat.a libexpat_s.a
cd ../..

# XML::Parser custom, built against expat
tar zxvf XML-Parser-2.36.tar.gz
cd XML-Parser-2.36
cp -R ../hints .
cp -R ../hints ./Expat # needed for second Makefile.PL
patch -p0 < ../XML-Parser-Expat-Makefile.patch
if [ $PERL_58 ]; then
# Running 5.8
$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58
EXPATLIBPATH=$BUILD/lib EXPATINCPATH=$BUILD/include
make test
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
$PERL_512 Makefile.PL INSTALL_BASE=$BASE_512
EXPATLIBPATH=$BUILD/lib EXPATINCPATH=$BUILD/include
make test
if [ $? != 0 ]; then
echo "make failed, aborting"
exit $?
fi
make install
fi
cd ..
rm -rf XML-Parser-2.36
rm -rf expat-2.0.1
;;

GD)
# build libjpeg
# Makefile doesn't create directories properly, so make
sure they exist
# Note none of these directories are deleted until GD is
built
mkdir -p build/bin build/lib build/include build/man/man1
tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking
make && make test
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install-lib
cd ..

# build libpng
tar zxvf libpng-1.2.39.tar.gz
cd libpng-1.2.39
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking
make && make test
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..

# build freetype
tar zxvf freetype-2.3.9.tar.gz
cd freetype-2.3.9
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking
patch -p0 < ../freetype-arm-asm.patch # patch to fix ARM
asm
$MAKE
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
$MAKE install
cd ..

# build expat
tar zxvf expat-2.0.1.tar.gz
cd expat-2.0.1
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking
make
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..

# build fontconfig
tar zxvf fontconfig-2.6.0.tar.gz
cd fontconfig-2.6.0
CFLAGS="$FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking --disable-docs \
--with-expat-includes=$BUILD/include --with-expat-lib=
$BUILD/lib \
--with-freetype-config=$BUILD/bin/freetype-config
make
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..

# build gd
tar zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
# gd's configure is really dumb, adjust PATH so it can
find the correct libpng config scripts
# and need to manually specify include dir
PATH="$BUILD/bin:$PATH" \
CFLAGS="-I$BUILD/include $FLAGS" \
LDFLAGS="$FLAGS" \
./configure --prefix=$BUILD \
--disable-dependency-tracking --without-xpm --without-
x \
--with-libiconv-prefix=/usr \
--with-jpeg=$BUILD \
--with-png=$BUILD \
--with-freetype=$BUILD \
--with-fontconfig=$BUILD
make
if [ $? != 0 ]; then
echo "make failed"
exit $?
fi
make install
cd ..

# Symlink static versions of libraries to avoid OSX linker
choosing dynamic versions
cd build/lib
ln -sf libexpat.a libexpat_s.a
ln -sf libjpeg.a libjpeg_s.a
ln -sf libpng12.a libpng12_s.a
ln -sf libgd.a libgd_s.a
ln -sf libfontconfig.a libfontconfig_s.a
ln -sf libfreetype.a libfreetype_s.a
cd ../..

# GD
tar zxvf GD-2.41.tar.gz
cd GD-2.41
patch -p0 < ../GD-Makefile.patch # patch to build
statically
cp -R ../hints .
if [ $PERL_58 ]; then
# Running 5.8
PATH="$BUILD/bin:$PATH" \
$PERL_58 Makefile.PL INSTALL_BASE=$BASE_58

make test
if [ $? != 0 ]; then
echo "make test failed, aborting"
exit $?
fi
make install
make clean
fi
if [ $PERL_512 ]; then
# Running 5.12
PATH="$BUILD/bin:$PATH" \
$PERL_512 Makefile.PL INSTALL_BASE=$BASE_512

make test
if [ $? != 0 ]; then
echo "make test failed, aborting"
exit $?
fi
make install
fi

cd ..
rm -rf GD-2.41
rm -rf gd-2.0.35
rm -rf fontconfig-2.6.0
rm -rf expat-2.0.1
rm -rf freetype-2.3.9
rm -rf libpng-1.2.39
rm -rf jpeg-6b
;;
esac
}

# Build a single module if requested, or all
if [ $1 ]; then
build $1
else
build_all
fi

# Reset PERL5LIB
export PERL5LIB=

if [ $OS = 'Darwin' ]; then
# strip -S on all bundle files
find $BUILD -name '*.bundle' -exec chmod u+w {} \;
find $BUILD -name '*.bundle' -exec strip -S {} \;
elif [ $OS = 'Linux' -o $OS = "FreeBSD" ]; then
# strip all so files
find $BUILD -name '*.so' -exec chmod u+w {} \;
find $BUILD -name '*.so' -exec strip {} \;
fi

# clean out useless .bs/.packlist files, etc
find $BUILD -name '*.bs' -exec rm -f {} \;
find $BUILD -name '*.packlist' -exec rm -f {} \;

# create our directory structure
# XXX there is still some crap left in here by some modules such as
DBI, GD
if [ $PERL_58 ]; then
mkdir -p $BUILD/arch/5.8/$ARCH
cp -R $BASE_58/lib/perl5/*/auto $BUILD/arch/5.8/$ARCH/
fi
if [ $PERL_512 ]; then
mkdir -p $BUILD/arch/5.12/$ARCH
cp -R $BASE_512/lib/perl5/*/auto $BUILD/arch/5.12/$ARCH/
fi

# could remove rest of build data, but let's leave it around in case
#rm -rf $BASE_58
#rm -rf $BASE_512
#rm -rf $BUILD/bin $BUILD/etc $BUILD/include $BUILD/lib $BUILD/man
$BUILD/share $BUILD/var


cpan is doing lots of things. I hope it does not screw up 11.3. If I
install a new module, how do I specify that it go into /usr/local?

What I did so far is to download the latest CPAN modules into the
squeezeboxserver source directory. The build script was happy until I
got to mysql. It wants an old mysql tar file. But I am worried that
two versions of mysql will screw things up on my system.

J G Miller

unread,
Jul 18, 2010, 3:15:36 PM7/18/10
to
On Sunday, July 18th, 2010 at 12:03:27h -0700, James Rome observed:

> cpan is doing lots of things.

Yes, when you first start it up, it get down to business and does
lots of things, almost all of which will be put under /root/.cpan
assuming you are running as root.

> I hope it does not screw up 11.3.

Why should it, it it is kept separate from /usr ?

> If I install a new module, how do I specify that it go into /usr/local?

When you fired up CPAN for the first time, it asked you where you
wanted things to be installed, and /usr/local is the default, which
I presume you accepted.

Incidentally for those who are not familiar, CPAN is the repository
of PERL modules

Comprehensive Perl Archive Network <http://www.cpan.ORG/>

I wonder if the were inspired to chose the CPAN name from CTAN (the TeX
equivalent).

So to make life easier for everybody, CPAN developed the CPAN interface
which downloads the tar.gz archives, unpacks them, builds the module,
installs the module, and most importantly tests it as well.

If you want further information try

cpan> help

if you have not already done so.

> What I did so far is to download the latest CPAN modules into the
> squeezeboxserver source directory.

If they were located under /usr/local, they would be available for
everybody, and should have been picked up by the squeezebox building
procedure.

> The build script was happy until I got to mysql. It wants an old mysql
> tar file.

But what does it want to do with it?

> But I am worried that two versions of mysql will screw things up on
> my system.

Do you mean two mysql daemons? Are you running one anyways for other
things?

jamesromeongmail.com

unread,
Jul 18, 2010, 3:51:12 PM7/18/10
to
On Jul 17, 11:44 am, J G Miller <mil...@yoyo.ORG> wrote:
> On Saturday, July 17th, 2010 at 06:21:06h -0700, James Romeon wrote:
> > Slim said they do not support the latest version of Perl.
>
> All depends on what they mean by "latest" and "version" and "support".
>
> > Do the CPAN modules have to match the perl version?
>
> Which PERL version?

>


> It is best to install "custom" installed modules under /usr/local
> so as not to contaminate the purity of the installed openSUSE package
> hierarchy under /usr.

Thank for the tips. They support perl 5.08 I think. I overwrote it in

OS=`uname`

# Build dir
BUILD=$PWD/build

mkdir $BUILD

Class::XSAccessor)
build_module Class-XSAccessor-1.05
;;

DBI)
build_module DBI-1.611
;;

Digest::SHA1)
build_module Digest-SHA1-2.13
;;

EV)
build_module common-sense-2.0

export PERL_MM_USE_DEFAULT=
;;

JSON::XS)
build_module JSON-XS-2.232
;;

Locale::Hebrew)
build_module Locale-Hebrew-1.04
;;

Sub::Name)
build_module Sub-Name-0.04
;;

YAML::Syck)
build_module YAML-Syck-1.05
;;

Audio::Scan)
build_module Audio-Scan-0.83
;;


cpan is doing lots of things. I hope it does not screw up 11.3. If I


install a new module, how do I specify that it go into /usr/local?

What I did so far is to download the latest CPAN modules into the
squeezeboxserver source directory. The build script was happy until I
got to mysql. It wants an old mysql tar file. But I am worried that

jamesromeongmail.com

unread,
Jul 18, 2010, 3:59:42 PM7/18/10
to
On Jul 18, 3:15 pm, J G Miller <mil...@yoyo.ORG> wrote:

>
> > The build script was happy until I got to mysql. It wants an old mysql
> > tar file.
>
> But what does it want to do with it?
>
> > But I am worried that two versions of mysql will screw things up on
> > my system.
>
> Do you mean two mysql daemons?  Are you running one anyways for other
> things?

Yes, I have the SUSE mysql running. But the above script wants to
install lots of other things also. expat, libjpeg, freetype, gd,...

Thanks,
Jim

0 new messages