Can't locate loadable object for module

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View


I had this problem and wanted to post it here because I have found that
a lot of people are having this problem without many answers.  This may
not be the fix-all solution, but it hould help some.

Error message:
Can't locate loadable object for module Date::Calc

I did google searches and stuff and it seems a lot of people have the
problem, but all the answers were just "Did you install it right?  Did
you download the module from CPAN? etc..."  None of this helped me.  I
actually used Mandrake's urpmi AND I seperately tried perl -MCPAN -e
'install Data::Calc' but neither worked.

First, what was curious was that my program would run as root, but not
as apache for running in CGI mode.

So, to make a long story short, I found that a parent directory to the file was mode 700 keeping the apache user from getting to it.

Step 1) Find the .so
find /usr/lib/perl5/ -name "Calc.*"
Step 2) Verify perms on parents of .so
ls -l /usr/lib/perl5/
ls -l /usr/lib/perl5/site_perl
ls -l /usr/lib/perl5/site_perl/5.8.5
ls -l /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/
ls -l /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto
Step 3) Change perms on parent
chmod 755 /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/

Re: Can't locate loadable object for module

Quoted text here. Click to load it

That is, most often, the correct answer. At *least* nine out of every ten
times that question is asked, it's caused by a user who tried to simply
copy the .pm files into place, instead of following the standard module
installation procedure.

Obviously those answers weren't helpful to *you*, but you should understand
why those are frequently the first answer given. It's the most common source
of this error, so it's looked at first, before proceeding on to more esoteric
problems like yours.

Quoted text here. Click to load it

Well then, the problem *is* that the modules were installed incorrectly. The
files were copied incorrectly by a package manager in this case, which set the
directory permissions differently than the standard install procedure would
have set them. So the details were different, but not the core problem.


Site Timeline