The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

perl support not working in exim4/RHEL3

Discussion in 'General Discussion' started by cynux, Jul 12, 2006.

  1. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    Well, Cpanel installs a rpm version of exim4 on RHEL4 and it's using the version of PERL which comes with the RHEL (5.8.0).

    Now, the problem is that CPANEL provides it's own version of PERL (5.8.7) , now.. here is the problem... after updating MySQL DHD::mysql doesn't work on the RHEL version of PERL which EXIM4 is using... and I cant update DHD::mysql without restoring RHEL PERL to its orignal form.:confused:

    Now, What am I supposed to do? I wrote a fuction to work with EXIM/MySQL which worked fine on other OS but now i cant use it on my sever, because it just cant connect to MySQL :eek:

    Should'nt CPANEL use it's own version of PERL for EXIM? :(

    I hope all this makes a sense...:confused:
     
    #1 cynux, Jul 12, 2006
    Last edited: Jul 12, 2006
  2. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    and now i dont know what to do :rolleyes:
     
  3. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    this problem started after updating mysql to 4.1 :confused:
     
  4. avijit

    avijit Well-Known Member

    Joined:
    Jul 26, 2004
    Messages:
    116
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    India
    Try

    /scripts/perlinstaller --force Bundle::DBD::mysql

    Hope this helps.
     
  5. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    Already tried that, that installs the module on CPANEL's PERL.
    Exim is using RHEL's version of PERL(5.8.0), duh! and its not possible to update this version of PERL without removing CPANEL's PERL(5.8.7)!!!!!!:confused:
     
  6. avijit

    avijit Well-Known Member

    Joined:
    Jul 26, 2004
    Messages:
    116
    Likes Received:
    0
    Trophy Points:
    16
    Location:
    India
    How about reinstalling the cPanels latest Perl version:

    wget http://layer1.cpanel.net/perl587installer.tar.gz
    tar zxf perl587installer.tar.gz
    cd perl587installer
    ./install

    Then run the /scripts/eximup --force

    Hope this resolves your issue.
     
  7. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16

    already did that, exim is not using perl 5.8.7 from cpanel.. it uses rhel's perl 5.8.0 so no matter how many times you install perl it'll still use rhel's perl! that's how it comes from cpanel! or wherever that exim4 RPM comes from, I think
     
  8. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    anyway, thanks for replying avijit
     
  9. chirpy

    chirpy Well-Known Member

    Joined:
    Jun 15, 2002
    Messages:
    13,475
    Likes Received:
    20
    Trophy Points:
    38
    Location:
    Go on, have a guess
    Should work:

    1. Make sure that /usr/local/bin/perl is a symlink to /usr/bin/perl

    2. If it already is and that didn't fix it, simply remove all versions of perl except for 5.8.7 from /usr/lib/perl5/

    3. Then run /usr/local/cpanel/bin/checkperlmodules

    4. Make sure that up2date never tries t upgrade perl
     
  10. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16

    I already tried renaming all other perl folders, but it didnt work :confused:

    and perl is in up2date skiplist
     
  11. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    Code:
    failed to expand condition "${perl{democheck}}" for democheck router: error in perl_startup code: Can't locate strict.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0 . /etc/exim/perl) at /etc/exim.pl line 1009.
    BEGIN failed--compilation aborted at /etc/exim.pl line 1009.

    This is what I get after updating..
     
  12. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    and when i remove all perl versions except 5.8.7 fro /usr/lib/perl5
    I get a perl version mismatch error :rolleyes:
    It says that perl binary (5.8.0) doesn't match the perl library (5.8.7)

    So my guess is, that perl version is built into exim somehow? and it's 5.8.0?



    -- EDIT --
     
    #12 cynux, Jul 12, 2006
    Last edited: Jul 12, 2006
  13. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    ok, finally found the problem!!!!!


    ldd /usr/sbin/exim
    gives out

    Code:
            libresolv.so.2 => /lib/libresolv.so.2 (0x006bc000)
            libnsl.so.1 => /lib/libnsl.so.1 (0x00db8000)
            libcrypt.so.1 => /lib/libcrypt.so.1 (0x008e2000)
            libm.so.6 => /lib/tls/libm.so.6 (0x00689000)
            libpam.so.0 => /lib/libpam.so.0 (0x00cf7000)
            libdb-4.1.so => /lib/libdb-4.1.so (0x00111000)
            [B][U]libperl.so => /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so (0x001d2000)[/U][/B]
            libdl.so.2 => /lib/libdl.so.2 (0x002f9000)
            libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00397000)
            libc.so.6 => /lib/tls/libc.so.6 (0x003a7000)
            libutil.so.1 => /lib/libutil.so.1 (0x002fc000)
            libssl.so.4 => /lib/libssl.so.4 (0x002ff000)
            libcrypto.so.4 => /lib/libcrypto.so.4 (0x006ce000)
            /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x005d0000)
            liblaus.so.1 => /lib/liblaus.so.1 (0x00872000)
            libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x00333000)
            libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x004e0000)
            libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x00c28000)
            libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x009bf000)
            libz.so.1 => /usr/lib/libz.so.1 (0x00c97000)
    

    libperl.so => /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so (0x001d2000)


    that's the problem!!!! duh!! gonna try to find a way to solve it now... ;)
     
  14. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    ~# locate libperl

    gives out

    Code:
    /root/installd/perl587installer/perl-5.8.7/libperl.a
    /root/temp/perl587installer/perl-5.8.7/libperl.a
    /usr/sbin/libperl_dead.so
    /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/libperl.so
    /usr/lib/perl5/5.8.7/i686-linux/CORE/libperl.a
    /usr/lib/debug/usr/lib/libperl.so.debug
    /usr/local/cpanel/perl/libperl.so.3
    /usr/local/cpanel/perl/libperl.so
    
     
  15. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    ok, it turns out that cpanel's perl587installer is not installing new libperl.so, that's why exim is still using the old libperl.so...

    so.. now what?:eek:
     
  16. chirpy

    chirpy Well-Known Member

    Joined:
    Jun 15, 2002
    Messages:
    13,475
    Likes Received:
    20
    Trophy Points:
    38
    Location:
    Go on, have a guess
    Reinstall exim should sort it out.
     
  17. cynux

    cynux Well-Known Member

    Joined:
    Jul 30, 2005
    Messages:
    113
    Likes Received:
    0
    Trophy Points:
    16
    nope, that wont solve the problem.

    Exim on RHEL3 comes from a RPM and it can only work with orignal RHEL perl only.

    I upgraded the DBD::mysql module, by moving /usr/bin/perl5.8.0 to /usr/bin/perl and then installing the plugin through CPAN and then moving it back to /usr/bin/perl5.8.0! :D no thanks to CPANEL tho! :cool:
     
Loading...

Share This Page