PDA

View Full Version : Install trouble on Qube3 w/perl-5.8.6



John Davison
2004-12-17, 15:22
I'm trying to install the slimserver 5.4.0 RPM on a Cobalt Qube3 (with OS 6.4
and latest patches, plus perl 5.8.6). And yes, I do know that the OS is
ancient, but only perl should matter, right? :)

The problem I see is some sort of trouble with $HOME - even though slimserver
is running as user slimserver, it wants to read/write to
/root/usr/local/slimserver/. Here is /tmp/slimserver.log:

mkdir /root//usr: Permission denied at
/usr/local/slimserver/CPAN/Template/Provider.pm line 377
Use of uninitialized value in concatenation (.) or string at
/usr/local/slimserver/CPAN/Template/Provider.pm line 593.
compiled template : Can't locate
/root//usr/local/slimserver/HTML/EN/include.html in @INC (@INC contains:
/usr/local/slimserver/Plugins /usr/local/slimserver/Plugins
/usr/local/slimserver /usr/local/slimserver/CPAN
/usr/local/slimserver/CPAN/arch/5.8.6/i586-linux
/usr/local/slimserver/CPAN/arch/5.8/i586-linux
/usr/local/slimserver/CPAN/arch/i586-linux /usr/lib/perl5/5.8.6/i586-linux
/usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i586-linux
/usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl .) at
/usr/local/slimserver/CPAN/Template/Provider.pm line 592.

file error - cache failed to write include.html: Error in tempfile() using
/root/usr/local/slimserver/HTML/EN/XXXXXXXXXX: Parent directory
(/root/usr/local/slimserver/HTML/EN/) is not writable
at /usr/local/slimserver/CPAN/Template/Document.pm line 280


After upgrading to slimserver-2004_12_17-1, it just keeps repeating that last
file error.

So, is there a different version of perl that I should be using, or is cobalt
linux just too old/non-standard? Or did I munge telling slimserver where it
should live?

tia

john

=====
---

John Davison
2004-12-17, 16:14
John Davison <davisoja@...> writes:
> file error - cache failed to write include.html: Error in tempfile() using
> /root/usr/local/slimserver/HTML/EN/XXXXXXXXXX: Parent directory
> (/root/usr/local/slimserver/HTML/EN/) is not writable
> at /usr/local/slimserver/CPAN/Template/Document.pm line 280

After searching *developers* instead of just discuss (doh!), I see this is a
cachedir issue. Sorry for the noise! However, I got the impression that this
should only happen when you use the tarball - I installed the .rpm as root.

john

Victor Brilon
2004-12-17, 17:52
John Davison wrote:
> John Davison <davisoja@...> writes:
>
>>file error - cache failed to write include.html: Error in tempfile() using
>>/root/usr/local/slimserver/HTML/EN/XXXXXXXXXX: Parent directory
>>(/root/usr/local/slimserver/HTML/EN/) is not writable
>> at /usr/local/slimserver/CPAN/Template/Document.pm line 280
>
>
> After searching *developers* instead of just discuss (doh!), I see this is a
> cachedir issue. Sorry for the noise! However, I got the impression that this
> should only happen when you use the tarball - I installed the .rpm as root.
>

Did you use any special flags when you installed from the RPM? If not, I
am confused as to how things ended up in /root rather than in /usr/local?

Victor

John Davison
2004-12-18, 15:05
Victor Brilon <victor@...> writes:
> Did you use any special flags when you installed from the RPM? If not, I
> am confused as to how things ended up in /root rather than in /usr/local?

No "special" flags, per se:
# rpm -ivh slimserver-5.4.0-1.noarch.rpm
then:
# /etc/rc.d/init.d/slimserver start

However, that failed to run, because it had:
daemon --user $SLIMSERVER_USER $SLIMSERVER_BIN $SLIMSERVER_ARGS

in start(). Does that actually work on other systems, with slimserver.pl in
the middle of the command??? Putting the _BIN var before --user fixed
that, but then the very next error was from the cachedir=/root problem.


I had one other problem which may be cobalt-specific or freshly-installed-perl
specific, but I'm including it here so that it's in the archives.

RSS feeds were crashing slimserver.
slimserver: error in loading shared libraries: /usr/lib/perl5/site_perl/5.8.6/
i586-linux/auto/XML/Parser/Expat/Expat.so: undefined symbol: Perl_safemalloc

It was not related to the utf8 problem with perl 5.6.

google found a cobalt forum post, from which I gleaned this:
install expat-1.95.8.tar.gz from sourceforge, then run:
perl -MCPAN -e "install 'Compress::Zlib'"
perl -MCPAN -e "install 'IO::Zlib'"
perl -MCPAN -e "install 'Archive::Tar'"
perl -MCPAN -e "install 'XML::Parser'"

I don't know if all of that was necessary (Zlib and tar?), but RSS works now.

john

Victor Brilon
2004-12-18, 15:41
John Davison wrote:
> No "special" flags, per se:
> # rpm -ivh slimserver-5.4.0-1.noarch.rpm
> then:
> # /etc/rc.d/init.d/slimserver start
>
> However, that failed to run, because it had:
> daemon --user $SLIMSERVER_USER $SLIMSERVER_BIN $SLIMSERVER_ARGS
> in start(). Does that actually work on other systems, with slimserver.pl in
> the middle of the command??? Putting the _BIN var before --user fixed
> that, but then the very next error was from the cachedir=/root problem.

That absolutely works on RH and RH-like platforms. I suspect that the
Cobalt stuff is different enough that it's pointless to try and run the
stock RPM install, specifically given that it looks like for some reason
it chroots the process into /root before running it.

Any idea what the Cobalt distribution is based on? Or did they make
their own from scratch? If this is actually a problem serious enough to
be fiddled with, and there are other users with Qubes here, I can get
access to a Cobalt box where I could maybe build an RPM specific for
this distribution.

>
>
> I had one other problem which may be cobalt-specific or freshly-installed-perl
> specific, but I'm including it here so that it's in the archives.
>
> RSS feeds were crashing slimserver.
> slimserver: error in loading shared libraries: /usr/lib/perl5/site_perl/5.8.6/
> i586-linux/auto/XML/Parser/Expat/Expat.so: undefined symbol: Perl_safemalloc
>
> It was not related to the utf8 problem with perl 5.6.
>
> google found a cobalt forum post, from which I gleaned this:
> install expat-1.95.8.tar.gz from sourceforge, then run:
> perl -MCPAN -e "install 'Compress::Zlib'"
> perl -MCPAN -e "install 'IO::Zlib'"
> perl -MCPAN -e "install 'Archive::Tar'"
> perl -MCPAN -e "install 'XML::Parser'"

That definitely sounds Cobalt-specific. Somehow the installed XML parser
in perl doesn't agree with what the actual install of perl thinks it
should be. Your fix is the right one, but I am curious why you even had
to do that in the first place?

Victor

John Davison
2004-12-19, 14:54
Victor Brilon <victor@...> writes:
> That absolutely works on RH and RH-like platforms. I suspect that the
> Cobalt stuff is different enough that it's pointless to try and run the
> stock RPM install, specifically given that it looks like for some reason
> it chroots the process into /root before running it.

Hmm... interesting. I'm a BSD guy, and not really familiar with any of
the various linux rc setups. cobalt's /etc/rc.d/init.d/functions has
this in daemon():

case $1 in
'') echo '$0: Usage: daemon [+/-nicelevel] {program}'
return 1;;
-*|+*) nicelevel=$1
shift;;
*) nicelevel=0;;
esac

so, having "--user" first makes `nice` lose.

Another thing I just discovered with the init.d script, is that slimserver.pl
shows up in ps without the ".pl" at the end (from daemonize(), line 762?),
so I changed this in stop():
killproc ${SLIMSERVER_BIN%.pl}

> Any idea what the Cobalt distribution is based on? Or did they make
> their own from scratch?

I think it's from scratch, by Cobalt (and now Sun), based on linux 2.2.

> That definitely sounds Cobalt-specific. Somehow the installed XML parser
> in perl doesn't agree with what the actual install of perl thinks it
> should be. Your fix is the right one, but I am curious why you even had
> to do that in the first place?

Because it's an EOL product, and Sun has only released patches for
remote-root exploits for quite some time now, so almost all the included
packages are ancient. It had perl 5.005_03 by default. (4 years old?)

john

Victor Brilon
2004-12-19, 15:25
John Davison wrote:
[ much details about Qube's quirkiness snipped]

> Because it's an EOL product, and Sun has only released patches for
> remote-root exploits for quite some time now, so almost all the included
> packages are ancient. It had perl 5.005_03 by default. (4 years old?)

Oh well...that explains it :)

Anyway, based on what you posted, it does look like the Qube install is
quite unique. Are you able to get everything running if you just install
using the .tar.gz file? Are there any other users who run a Qube so that
it'd be worth building an RPM for everyone to use?

Victor

Jason Holtzapple
2004-12-20, 07:30
Victor Brilon wrote:
>
>
> John Davison wrote:
> [ much details about Qube's quirkiness snipped]
>
>> Because it's an EOL product, and Sun has only released patches for
>> remote-root exploits for quite some time now, so almost all the included
>> packages are ancient. It had perl 5.005_03 by default. (4 years old?)
>
>
> Oh well...that explains it :)
>
> Anyway, based on what you posted, it does look like the Qube install is
> quite unique. Are you able to get everything running if you just install
> using the .tar.gz file? Are there any other users who run a Qube so that
> it'd be worth building an RPM for everyone to use?

NetBSD runs on the Qube. It might be worth investigating - slimserver runs
just fine on NetBSD.

http://www.netbsd.org/Ports/cobalt/

John Davison
2004-12-20, 14:14
Jason Holtzapple <jasonholtzapple@...> writes:
> NetBSD runs on the Qube. It might be worth investigating - slimserver runs
> just fine on NetBSD.

NetBSD only runs on the older MIPS-based Qube and Raq machines (1 and 2),
which are entirely different beasts. The MIPS cobalts are easily tricked into
booting bsd, not so with the x86-based cobalts (Qube 3, Raq 3,4 and later).
There is no BIOS, only a stripped down linux kernel in flash ROM, and booting
anything other than linux is not yet implemented. There might be as many
as two people in the world working it, though.

john