PDA

View Full Version : Modules fail to load



leonyu13
2005-09-18, 19:26
I finally got some problems ironed out with an upgrade to perl 5.8.7, now I'm getting this message when I try to run a new nightly version of 6.2b1:

The following modules failed to load: DBD::SQLite XML::Parser HTML::Parser Compress::Zlib

To download and compile them, please run: /home/leon/SlimServer_v2005-09-18/Bin/build-perl-modules.pl

I ran this and was able to run the last nightly I had installed, which was from 9/10 and everything worked fine. Then I downloaded the 9/18 nightly and installed using "tar -zxvf SlimServer_v2005-09-18.tar.gz". Then cd to proper directory and "./slimserver.pl --stdio --d_server" but I get the same error about modules failed to load.

What do I need to do to make this stick?

Trying to install 6.2b1 9/18 nightly on Red Hat 9.

Thanks for any help!

mherger
2005-09-18, 23:41
> What do I need to do to make this stick?

Read and answer the questions of that script: it will ask where to
install those modules and will, by default, install it under the
slimserver folder. If you replace it by a new release, those modules
are gone.

Have it install to /usr/local/lib/perl or something similar (check with
your installation).

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

leonyu13
2005-09-20, 23:18
> What do I need to do to make this stick?

Read and answer the questions of that script: it will ask where to
install those modules and will, by default, install it under the
slimserver folder. If you replace it by a new release, those modules
are gone.

Have it install to /usr/local/lib/perl or something similar (check with
your installation).

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

How do I check with my installation to find the proper location to install the modules? I tried /usr/local/lib/perl5 which worked for one nightly, but the following night asked for the modules to be installed again. So as long as I install from the tar.gz files and re-download and install the various modules every time, everything runs fine, but it's difficult to keep up with nightlies this way.

Not sure if this is related or not, but I'm not able to run any rpm installations. They appear to install fine, but the server will not run. /etc/rc.d/init.d/slimserver start yields OK, however status shows stopped. I'm not able to check /tmp/slimserver.log because it doesn't exist. I used to be able to install rpms fine and tar.gz installs also worked without having to download any modules. The problems started after I upgraded to perl 5.8.7. I'm sure I wrecked something along the way, still trying to become comfortable with Linux. I'm running Red Hat 9.

Any suggestions will be much appreciated (and will go a long way towards boosting the spousal approval rating of my squeezebox/slimserver setup) :)

mherger
2005-09-21, 00:08
> > Have it install to /usr/local/lib/perl or something similar (check
> > with your installation).
>
> How do I check with my installation to find the proper location to
> install the modules?

try the following from the shell:
perl -e 'foreach (@INC) {print "$_\n";}'

It will give you all folders where perl is looking for modules.

> Not sure if this is related or not, but I'm not able to run any rpm
> installations. They appear to install fine, but the server will not
> run. /etc/rc.d/init.d/slimserver start yields OK, however status
> shows
> stopped. I'm not able to check /tmp/slimserver.log because it doesn't
> exist.

Be sure the user slimserver owns /etc/slimserver.pref (.conf?) and
slimserversql.db.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

leonyu13
2005-09-21, 20:27
try the following from the shell:
perl -e 'foreach (@INC) {print "$_\n";}'

It will give you all folders where perl is looking for modules.
Running this gave me:
/usr/local/lib/perl5/5.8.7/i686-linux
/usr/local/lib/perl5/5.8.7
/usr/local/lib/perl5/site_perl/5.8.7/i686-linux
/usr/local/lib/perl5/site_perl/5.8.7
/usr/local/lib/perl5/site_perl

So I picked one and installed as follows:
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 --> I accepted the default, which is actually a symlink pointing to /usr/local/bin/perl5.8.7, which is where my binary actually resides.
Please enter the path to your SlimServer directory (ex: /usr/local/slimserver) --> /usr/local/slimserver
Please enter a directory to download files to --> /usr/local/lib/perl5/5.8.7

Then I downloaded and installed SlimServer_v2005-09-21.tar.gz, but trying to run it resulted in the familiar:
sh-2.05b# ./slimserver.pl --stdio --d_server --user slimserver
The following modules failed to load: DBD::SQLite XML::Parser HTML::Parser Compress::Zlib

To download and compile them, please run: /home/leon/SlimServer_v2005-09-21/Bin/build-perl-modules.pl

I don't get it, do I need to install the modules to a different folder or am I missing something else?


Be sure the user slimserver owns /etc/slimserver.pref (.conf?) and
slimserversql.db.Both of these files are owned by slimserver.

I certainly appreciate your help so far. Any other ideas? I'm accessing my Red Hat server through my windows machine via vnc running as root (I know, bad idea), could that screw up permissions somewhere?
--

Robin Bowes
2005-09-22, 01:45
leonyu13 wrote:
> I certainly appreciate your help so far. Any other ideas? I'm accessing
> my Red Hat server through my windows machine via vnc running as root (I
> know, bad idea), could that screw up permissions somewhere?

I don't know if this is causing your problem, but if you do this then
the database and config files are owned by root which means that
slimserver won't run as user slimserver.

Try and get into the habit of doing:

# su - slimserver
{enter password}
$ ./slimserver.pl --stdio --d_server --user slimserver

R.
--
http://robinbowes.com

If a man speaks in a forest,
and his wife's not there,
is he still wrong?

mherger
2005-09-22, 04:19
ops, sorry, I think I was wrong. I thought there was a question asking
about where to install the modules. I just had a look at the script and
couldn't find it - it's always installed into the slimserver's CPAN
folder. :-(

What you can do: run the script, and once everything's done, move the
folders _manually_ from slimserver/CPAN to one of the perl library
folders.

> Please enter a directory to download files to -->
> /usr/local/lib/perl5/5.8.7

Don't use this path: that's only where the script will store the
downloaded tarballs, not where it will put the compiled modules.

> Then I downloaded and installed SlimServer_v2005-09-21.tar.gz, but
> trying to run it resulted in the familiar:
> sh-2.05b# ./slimserver.pl --stdio --d_server --user slimserver
> The following modules failed to load: DBD::SQLite XML::Parser
> HTML::Parser Compress::Zlib

That's the modules you might want to move. Then try again. If it spits
out other modules, repeat for them.

I'm sorry I was wrong in the firt place...
--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

leonyu13
2005-09-24, 11:29
ops, sorry, I think I was wrong. I thought there was a question asking
about where to install the modules. I just had a look at the script and
couldn't find it - it's always installed into the slimserver's CPAN
folder. :-(

What you can do: run the script, and once everything's done, move the
folders _manually_ from slimserver/CPAN to one of the perl library
folders.

> Please enter a directory to download files to -->
> /usr/local/lib/perl5/5.8.7

Don't use this path: that's only where the script will store the
downloaded tarballs, not where it will put the compiled modules.

> Then I downloaded and installed SlimServer_v2005-09-21.tar.gz, but
> trying to run it resulted in the familiar:
> sh-2.05b# ./slimserver.pl --stdio --d_server --user slimserver
> The following modules failed to load: DBD::SQLite XML::Parser
> HTML::Parser Compress::Zlib

That's the modules you might want to move. Then try again. If it spits
out other modules, repeat for them.

I'm sorry I was wrong in the firt place...
--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

No need to apologize Michael, I appreciate the help! Even wrong answers help me to learn more about Linux.

I still haven't ironed out my problems. I still have to reinstall Perl modules every time I install a new version of Slimserver. And I still can't install from RPMs. BUT- Slimserver appears to be stable after I get it running and I have successfully upgraded to Perl 5.8.7, so I can live with the minor difficulties.

Thanks again for your help!
Leon

mherger
2005-09-24, 23:21
> I still haven't ironed out my problems. I still have to reinstall Perl
> modules every time I install a new version of Slimserver.

Did you try to move the folders of the newly installed modules to one of
perl's own folders? As long as they stay in slimserver's on folder tree
they will be removed with the old slimserver every time you install a new
release.

Or you install those modules without the slimserver's help using your
distro's management tool or the command line.
perl -MCPAN -e 'install DBD::SQLite'
etc. should install them to the place perl is expecting them to be.

> And I still can't install from RPMs.

What's the problem here? Do you get any error message?

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
StringEditor Plugin (http://www.herger.net/slim/)

leonyu13
2005-09-25, 00:43
Did you try to move the folders of the newly installed modules to one of
perl's own folders? As long as they stay in slimserver's on folder tree
they will be removed with the old slimserver every time you install a new
release.

Or you install those modules without the slimserver's help using your
distro's management tool or the command line.
perl -MCPAN -e 'install DBD::SQLite'
etc. should install them to the place perl is expecting them to be.
Yes, I tried moving the folders to Perl's own folders, tried a couple of different folders, but no luck. I also tried the CPAN command line install but that would not make DBD::SQLite properly (maybe that's my problem?). Here's the complete output I get when I try to start a new version of slimserver installed from the tar.gz files:

sh-2.05b# ./slimserver.pl --stdio --d_server --user slimserver
The following modules failed to load: DBD::SQLite XML::Parser HTML::Parser Compress::Zlib

To download and compile them, please run: /home/leon/SlimServer_v2005-09-24/Bin/build-perl-modules.pl

2005-09-25 02:17:35.5036 SlimServer OSDetect init...
2005-09-25 02:17:35.5043 SlimServer OS Specific init...
2005-09-25 02:17:35.5050 SlimServer saving pid file.
2005-09-25 02:17:35.5055 SlimServer settings effective user and group if requested...
2005-09-25 02:17:35.5064 SlimServer settings init...
2005-09-25 02:17:37.0065 SlimServer strings init...
2005-09-25 02:17:37.6585 SlimServer Setup init...
2005-09-25 02:17:37.7028 SlimServer setting language...
2005-09-25 02:17:37.7037 SlimServer IR init...
2005-09-25 02:17:37.9006 SlimServer Buttons init...
2005-09-25 02:17:37.9065 SlimServer Graphics init...
2005-09-25 02:17:43.8696 SlimServer Stdio init...
2005-09-25 02:17:43.8710 Old SLIMP3 Protocol init...
2005-09-25 02:17:43.8748 Slimproto Init...
2005-09-25 02:17:43.8776 mDNS init...
2005-09-25 02:17:43.8786 SlimServer HTTP init...
2005-09-25 02:17:43.9333 SlimServer CLI init...
2005-09-25 02:17:43.9357 mDNS startAdvertising...
2005-09-25 02:17:43.9437 Source conversion init..
2005-09-25 02:17:44.1664 SlimServer Info init...
Can't locate auto/DBI/connect.al in @INC (@INC contains: /home/leon/SlimServer_v2005-09-24/Plugins /home/leon/SlimServer_v2005-09-24 /home/leon/SlimServer_v2005-09-24/CPAN /home/leon/SlimServer_v2005-09-24/CPAN/arch/5.8.7/i686-linux /home/leon/SlimServer_v2005-09-24/CPAN/arch/5.8.7/i686-linux/auto /home/leon/SlimServer_v2005-09-24/CPAN/arch/5.8/i686-linux /home/leon/SlimServer_v2005-09-24/CPAN/arch/5.8/i686-linux/auto /home/leon/SlimServer_v2005-09-24/CPAN/arch/i686-linux /usr/local/lib/perl5/5.8.7/i686-linux /usr/local/lib/perl5/5.8.7 /usr/local/lib/perl5/site_perl/5.8.7/i686-linux /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl .) at /home/leon/SlimServer_v2005-09-24/Slim/DataStores/DBI/DataModel.pm line 134
2005-09-25 02:17:44.9563 Got to the END.
2005-09-25 02:17:44.9568 Got sigint.
2005-09-25 02:17:44.9573 SlimServer cleaning up.



> And I still can't install from RPMs.[/color]

What's the problem here? Do you get any error message?

No error message, here's what I get:

sh-2.05b# /etc/rc.d/init.d/slimserver start
Starting SlimServer: [ OK ]
sh-2.05b# /etc/rc.d/init.d/slimserver status
slimserver.pl is stopped

I don't have a log file at /tmp/slimserver.log. I checked that slimserver does own slimserver.conf and slimserversql.db. Is slimserversql.db supposed to be hidden? It shows up as .slimserversql.db.

mherger
2005-09-25, 04:01
Ok, let's forget for a moment, what you've tried so far. How doyou install
updates? Do you untar them to a new folder, rename it and run it from
theres? Don't do this. Just untar/copy the latest release over your
existing slimserver folder.

Because the module build is installed into that directory tree you have to
do it over and over again when you start a new release from a new folder.
If you just copy the new release over the old one, you'll keep the built
modules.

> sh-2.05b# /etc/rc.d/init.d/slimserver start
> Starting SlimServer: [ OK ]
> sh-2.05b# /etc/rc.d/init.d/slimserver status
> slimserver.pl is stopped

This is not rpm related, but imho a permissions issue. I'd suggest to
start all over again and remove anything slimserver related:
/root/.slimserver*, /root/slimserver*, /etc/slimserver*. Move them to some
other place so you still have a backup. Double-check you don't have
anything like *slimserver* in /etc/ and /root/. Try the rpm install. This
must work.

The reason slimserver does not start as a service is probably that paths
in /etc/slimserver.pref are pointing to the root's home (eg. cache
folder). As the slimserver user, under which it tries to start, is not
allowed to access those files, startup failes. If you remove all those
files slimserver will start over again and re-create everything where it
belongs. Give it a try. You can still go back to the backed up files, if
you want.

> I don't have a log file at /tmp/slimserver.log. I checked that
> slimserver does own slimserver.conf and slimserversql.db. Is
> slimserversql.db supposed to be hidden? It shows up as
> .slimserversql.db.

In what place?

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
StringEditor Plugin (http://www.herger.net/slim/)

leonyu13
2005-09-25, 08:45
Ok, let's forget for a moment, what you've tried so far. How doyou install
updates? Do you untar them to a new folder, rename it and run it from
theres? Don't do this. Just untar/copy the latest release over your
existing slimserver folder.

Because the module build is installed into that directory tree you have to
do it over and over again when you start a new release from a new folder.
If you just copy the new release over the old one, you'll keep the built
modules.


I started installing nightlies in their own folder (without over-writing previous installs) before the official release of 6.0, because I read a reply from KDF stating that you could have multiple versions installed at once and could choose which to run. Seemed like a good idea so I could experiment with beta releases but fall back on a previous stable version if I ran into trouble. This worked just fine until my recent trouble with Perl. I never even saw the message about missing modules, everything jsut worked.

I'll try wiping everything out and starting fresh to see where that gets me. I've been thinking this might be a good idea but I was saving it as a last resort.

By the way, I've been meaning to ask: What's the difference between the various install files? What's "no-cpan-arch" and why are some files only about 8 MB and some are 14MB?

I'll let you know how it goes.

Thanks,
Leon

leonyu13
2005-09-25, 15:15
This is not rpm related, but imho a permissions issue. I'd suggest to
start all over again and remove anything slimserver related:
/root/.slimserver*, /root/slimserver*, /etc/slimserver*. Move them to some
other place so you still have a backup. Double-check you don't have
anything like *slimserver* in /etc/ and /root/. Try the rpm install. This
must work.

The reason slimserver does not start as a service is probably that paths
in /etc/slimserver.pref are pointing to the root's home (eg. cache
folder). As the slimserver user, under which it tries to start, is not
allowed to access those files, startup failes. If you remove all those
files slimserver will start over again and re-create everything where it
belongs. Give it a try. You can still go back to the backed up files, if
you want.


I'm dying to try this, but hesitant. If I move everything slimserver-related to a different folder and it doesn't work, how can I be sure I'm returning all the moved (backed-up) files to their correct place? Is there some equivalent of the Windows trash can that will restore everything to its original location if I need to revert to the present state?

MrC
2005-09-25, 15:19
mv slim_directory slim_directory.save

later...

mv slim_directory.save slim_directory

mherger
2005-09-26, 02:02
> By the way, I've been meaning to ask: What's the difference between
> the various install files? What's "no-cpan-arch" and why are some
files
> only about 8 MB and some are 14MB?

the "no-cpan-arch" file does not compiled the cpan binaries for all
supported platforms. It's therefore a lot smaller. Once you've
successfully installed a release, you could live with the smaller
download, if you just install it _over_ the existing files. It would
use the binaries from the first install.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

leonyu13
2005-09-26, 16:01
> By the way, I've been meaning to ask: What's the difference between
> the various install files? What's "no-cpan-arch" and why are some
files
> only about 8 MB and some are 14MB?

the "no-cpan-arch" file does not compiled the cpan binaries for all
supported platforms. It's therefore a lot smaller. Once you've
successfully installed a release, you could live with the smaller
download, if you just install it _over_ the existing files. It would
use the binaries from the first install.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)

Sorry to be such a nuisance, but how do I untar the file so that it installs over an existing installation? I assume there is a simple shell command for this but I can't figure it out.

Thanks.

mherger
2005-09-27, 01:16
> Sorry to be such a nuisance, but how do I untar the file so that it
> installs over an existing installation? I assume there is a simple
> shell command for this but I can't figure it out.

If it exists, I don't know it, but am interested in learning it :-).

I just untar "tar -xzf" and move the content to the existing folder.

--

Michael

-----------------------------------------------------------
Help translate SlimServer by using the
SlimString Translation Helper (http://www.herger.net/slim/)