Sometimes you’ll notice that a certain function of cPanel or WHM was working fine, now all of a sudden you’re getting results that you’ve never seen before. Believe it or not, many problems with cPanel functionality related to processes running off of scripts is because of a perl corruption. To resolve this, usually the first step you should take is running a cPanel update, as this will correct most issues. If the problem persists, you may need to recompile perl from it’s core.
Before we start, here are a few of the most common indicators that there is a perl issue on your server:
- Accounts are not created properly, like missing files
- Frontpage extensions refuse to be installed
- Stats won’t run, result in cryptic perl errors
- Error messages that look like this:
(internal death) Sat Jun 3 21:01:55 2006 [32719] error: List::Util object version 1.14 does not match bootstrap parameter 1.18 at /usr/lib/perl5/5.8.7/i686-linux/XSLoader.pm line 92.==> Starting cpbandwd (bandwidth monitoring for IMAP/POP) Can't locate Class/Std.pm in @INC (@INC contains: /usr/local/cpanel /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.7/Unix/PID.pm line 8. Compilation failed in require at /usr/local/cpanel/bin/cpbandwd line 15. BEGIN failed--compilation aborted at /usr/local/cpanel/bin/cpbandwd line 15.
In some cases, the error is specific about a perl module missing. If this is the case, look for the perlmod format in the error message. In the above example you can see ‘List::Util’ being referenced, so you can try to reinstall that either manually or from WHM:
/scripts/perlinstaller –force List::Util
If reinstalling the perl module itself does not solve the problem, you can recompile perl. First, do a perl -v from command line to see what version you are running. Then follow these steps:
wget http://layer1.cpanel.net/perl587installer.tar.gz
tar xvzf perl587installer.tar.gz
cd perl587installer
./install
/usr/local/cpanel/bin/checkperlmodules
If you are running 5.8.8, use the installer from:
http://layer1.cpanel.net/perl588installer.tar.gz
The recompile may take as long as 20 minutes to complete.