perl/Exim errors - Exim not starting

lukemcr

Member
Feb 29, 2008
6
0
51
Exim stopped working for me this morning, and I'm not sure why. Trying to restart it with /scripts/restartsrv exim, I get the following error:

Invalid or broken exim binary: exim -bV returned: /usr/sbin/exim: error while loading shared libraries: libperl.so: wrong ELF class: ELFCLASS32
Running /scripts/perlinstaller gives me

no valid modules given at /usr/local/cpanel/Cpanel/cPCPAN/Install.pm line 29.
Running /scripts/eximup --force gives me the same ELFCLASS32 error

uname -a gives me Linux host.host 2.6.18-028stab069.6 #1 SMP Wed May 26 18:10:06 MSD 2010 x86_64 x86_64 x86_64 GNU/Linux


Any ideas? This is frustrating. /scripts/upcp --force got WHM/cPanel working after they weren't for a while, but Exim still won't start. Downloading and compiling the latest perl modules from layer1.cpanel.net doesn't seem to change anything.

Thanks a lot.
 

cPanelTristan

Quality Assurance Analyst
Staff member
Oct 2, 2010
7,606
33
238
somewhere over the rainbow
cPanel Access Level
Root Administrator
Hello,

Can you please check the following:

Code:
ls -lah /usr/bin/perl /usr/local/bin/perl
Please provide the output of that command.

Also, when you mention downloading and compiling the latest perl modules, do you mean reinstalling perl itself using a command like the following?

Code:
cd /usr/local/src && wget -N http://httpupdate.cpanel.net/perl588installer.tar.gz && tar -xzvf perl588installer.tar.gz && chown -vhR 0:0 perl588installer && cd perl588installer && ./install
Thanks.
 

lukemcr

Member
Feb 29, 2008
6
0
51
Alright, got it figured out. The ELFCLASS32 error is because exim is looking for a 64 bit version of perl, but a 32 bit version is installed for some reason.

Remove perl* from /etc/yum.conf, yum update, yum install perl.x86_64, yum remove perl.i386 and then restarting exim is what worked for me.
 

JaredR.

Well-Known Member
Feb 25, 2010
1,834
23
143
Houston, TX
cPanel Access Level
Root Administrator
I recommend also running checkperlmodules to make sure that all modules required by cPanel are installed after the changes you made. Run the following command as root:

Code:
# /scripts/checkperlmodules --full
From your comments, it sounds like everything may be fine, but I recommend doing this as a precautionary measure.