Strange Perl Error Message...

nitromax

Well-Known Member
Feb 12, 2002
189
0
316
I am trying to run a very simple cgi script in the /usr/local/cpanel/base/3rdparty directory, and for some reason I am getting the following error message:

------------------------------------------------------
Can't locate Carp/Heavy.pm in @INC (@INC contains: /usr/lib/perl5/5.6.0/i686-linux /usr/lib/perl5/ERLVER /usr/lib/perl5/site_perl/5.6.0/i686-linux /usr/lib/perl5/site_perl/ERLVER /usr/lib/perl5/site_perl/5.6.0/i686-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl . /usr/lib/perl5/5.6.0/i686-linux /usr/lib/perl5/5.6.0 /usr/lib/perl5/site_perl/5.6.0/i686-linux /usr/lib/perl5/site_perl/5.6.0 /usr/lib/perl5/site_perl .) at /usr/lib/perl5/5.6.0/Carp.pm line 109.
-------------------------------------------------------

The strange thing is that, as far as I know, Perl 5.6.0 has NEVER been installed on this server. So how is it that my script is trying to access the Carp/Heavy.pm file in the /5.6.0/i686-linux directory? That directory or version of perl is NOT on the server.

Is there a fix for this? If not, how do I get CPanel to look at the right perl directory? (I call the script like this: http://domain.com:2082/3rdparty/script.cgi). My other scripts in this directory seem to work fine so far.

When I type perl -v at the command line it says I have 5.6.1 i686-linux installed, and the Carp/Heavy.pm files do reside and work in the /5.6.1/i686-linux directory. So if I can get CPanel pointing to the right directory I should be good to go.

Please help!
 

feanor

Well-Known Member
Aug 13, 2001
835
0
316
Your perl environment must be really screwed, it should at least look at both 5.6.0 and 5.6.1 as far as a path, both simultaneously.

For a quick fix, just copy the Carp/Heavy structure into /usr/lib/perl5/5.6.0, to solve it.

(so these are the same)
/usr/lib/perl5/5.6.0/Carp/Heavy.pm
/usr/lib/perl5/5.6.0/Exporter/Heavy.pm
/usr/lib/perl5/5.6.1/Carp/Heavy.pm
/usr/lib/perl5/5.6.1/Exporter/Heavy.pm

After that.....
I would probably take layer1's perl561 installer and run it again and see what kind of insane things are going on - it should give you some direction at least, if it doesn't solve the issue.
 

nitromax

Well-Known Member
Feb 12, 2002
189
0
316
Well, it's better... but no go...

I copied those over like you mentioned, and it no longer displays the error shown at the top of this post. But now it's showing this error message:


open2: exec of ./3rdparty/cp-cgi/maxadmin.cgi failed at cpaneld.pl line 712


Another quick question... Does the perl561 installer automatically install all of the perl modules that CPanel needs? Or is there a seperate utility to install all of those modules at once?
 
B

bdraco

Guest
[quote:9f6df35c9b][i:9f6df35c9b]Originally posted by nitromax[/i:9f6df35c9b]

I copied those over like you mentioned, and it no longer displays the error shown at the top of this post. But now it's showing this error message:


open2: exec of ./3rdparty/cp-cgi/maxadmin.cgi failed at cpaneld.pl line 712


Another quick question... Does the perl561 installer automatically install all of the perl modules that CPanel needs? Or is there a seperate utility to install all of those modules at once?[/quote:9f6df35c9b]

Try running that script with the -w switch from the command line
 

nitromax

Well-Known Member
Feb 12, 2002
189
0
316
Ok... I'm having a bad day... I apologize!

Well, I tried your suggestion to run the -w, and the #$%^& script was not even in the directory!!! I had been running the script from a directory with a similar name, but I changed the link in the control panel to point to the 3rdparty directory instead. I thought I had copied all those scripts over, but apparently not. :)

cp file to directory... problem solved. I know... I'm an idiot! :p I seem t be having one of those years.

Thanks