2

I ran YUM on a server running BestPractical's RT. Now Apache won't start. Looking at the error log I get this error:

File::Temp version 0.18 required--this is only version 0.16 at /usr/lib/perl5/site_perl/5.8.8/MIME/Tools.pm line 14.

I ran CPAN and did install File::Temp and it says it already has the latest version (0.22). Why is it giving me this error?

David Mackey
  • 677
  • 2
  • 13
  • 28
  • 1
    I realized that it appears Linux has two copies of Perl installed. One in usr/lib/perl5/site_perl/5.8.8 and another in usr/local/lib/perl5/site_perl/5.13.9...I think this is the issue, but not sure how to resolve it. – David Mackey Oct 04 '12 at 15:43

1 Answers1

0

My guess is that you have /usr/bin/perl (Perl v5.8.8) with libraries stored in /usr/lib/perl5/site_perl/5.8.8/…, and then you also have /usr/local/bin/perl (Perl v5.13.9) with libraries stored in /usr/local/lib/perl5/site_perl/5.13.9/…. When you updated File::Spec, you updated the version used by /usr/local/bin/perl, but /usr/bin/perl is still using the old version.

You must either update the version of File::Spec used by /usr/bin/perl or make Apache use /usr/local/bin/perl.

To update the version used by /usr/bin/perl you can use

/usr/bin/perl -MCPAN -we 'CPAN::Shell -> install("File::Spec")'

I don't have much experience with Apache, but I am sure there are several ways to make it use /usr/local/bin/perl. You could try to place /usr/local/bin before /usr/bin in the PATH environment variable, but that might have other consequences, though.