Please whitelist cPanel in your adblocker so that you’re able to see our version release promotions, thanks!

The Community Forums

Interact with an entire community of cPanel & WHM users!

Net::SSLeay 1.32 Perl Module Bad Compile - Work around

Discussion in 'General Discussion' started by skelly, Sep 4, 2007.

  1. skelly

    skelly Registered

    Joined:
    Aug 1, 2006
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    151
    I noticed after my upgrade to WHM 11 that a couple of Perl modules were stubbornly refusing to compile/install. One of the problems was the compilation of Net::SSLeay 1.32 failing to compile because of a bad path in the make command.

    Below is the original problem output:

    Code:
      CPAN.pm: Going to build F/FL/FLORA/Net-SSLeay-1.32.tar.gz
    
    Cannot determine perl version info from lib/Net/SSLeay.pm
    Cannot determine license info from lib/Net/SSLeay.pm
    *** Found OpenSSL-0.9.7a installed in /usr/local/ssl
    *** Be sure to use the same compiler and options to compile your OpenSSL, perl,
        and Net::SSLeay. Mixing and matching compilers is not supported.
    *** Enabling gcc -fPIC optimization
    Do you want to run external tests?
    These tests *will* *fail* if you do not have network connectivity. [y] 
    *** Module::AutoInstall version 1.03
    *** Checking for Perl dependencies...
    [Core Features]
    - Sub::Uplevel    ...loaded. (0.16)
    - Test::Exception ...loaded. (0.25)
    - Array::Compare  ...loaded. (1.14)
    - Tree::DAG_Node  ...loaded. (1.05)
    - Test::Warn      ...loaded. (0.10)
    - MIME::Base64    ...loaded. (3.07)
    *** Module::AutoInstall configuration finished.
    Checking if your kit is complete...
    Looks good
    Writing Makefile for Net::SSLeay
    CPAN: YAML loaded ok (v0.65)
    cp lib/Net/SSLeay.pm blib/lib/Net/SSLeay.pm
    AutoSplitting blib/lib/Net/SSLeay.pm (blib/lib/auto/Net/SSLeay)
    blib/lib/Net/SSLeay.pm: some names are not unique when truncated to 8 characters:
     directory blib/lib/auto/Net/SSLeay:
      do_https3.al, do_https2.al, do_https4.al, do_https.al truncate to do_https
      do_httpx3.al, do_httpx2.al, do_httpx4.al truncate to do_httpx
      get_https.al, get_https3.al, get_https4.al, get_http.al, get_http3.al, get_http4.al, get_httpx.al, get_httpx3.al, get_httpx4.al truncate to get_http
      head_https.al, head_https3.al, head_https4.al, head_http.al, head_http3.al, head_http4.al, head_httpx.al, head_httpx3.al, head_httpx4.al truncate to head_htt
      post_https.al, post_https3.al, post_https4.al, post_http.al, post_http3.al, post_http4.al, post_httpx.al, post_httpx3.al, post_httpx4.al truncate to post_htt
      put_https.al, put_https3.al, put_https4.al, put_http.al, put_http3.al, put_http4.al, put_httpx.al, put_httpx3.al, put_httpx4.al truncate to put_http
      ssl_read_all.al, ssl_read_until.al, ssl_read_CRLF.al truncate to ssl_read
      ssl_write_all.al, ssl_write_CRLF.al truncate to ssl_writ
      tcp_read_all.al, tcp_read_until.al, tcp_read_CRLF.al truncate to tcp_read
      tcp_write_all.al, tcp_write_CRLF.al truncate to tcp_writ
    cp lib/Net/SSLeay/Handle.pm blib/lib/Net/SSLeay/Handle.pm
    /usr/bin/perl "-Iinc" /usr/lib/perl5/5.8.8/ExtUtils/xsubpp  -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap  SSLeay.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c
    cc -c  -I/usr/local/ssl/include -I/usr/local/ssl/inc32 -Iusr/kerberos/include -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -g   -DVERSION=\"1.32\" -DXS_VERSION=\"1.32\" -fPIC "-I/usr/lib/perl5/5.8.8/i686-linux/CORE"   SSLeay.c
    In file included from /usr/include/openssl/ssl.h:179,
                     from SSLeay.xs:96:
    /usr/include/openssl/kssl.h:72:18: krb5.h: No such file or directory
    In file included from /usr/include/openssl/ssl.h:179,
                     from SSLeay.xs:96:
    /usr/include/openssl/kssl.h:134: syntax error before "krb5_enctype"
    /usr/include/openssl/kssl.h:136: syntax error before '*' token
    /usr/include/openssl/kssl.h:137: syntax error before '}' token
    /usr/include/openssl/kssl.h:149: syntax error before "kssl_ctx_setstring"
    /usr/include/openssl/kssl.h:149: syntax error before '*' token
    
    Notice the -Iusr/kerberos/include flag on the compile line? It's missing a slash (should be -I/usr/kerberos/include).

    I worked around this by temporarily creating symlinks to the kerberos includes from an include directory that was being correctly specified. I used "/usr/local/include" thusly:

    Code:
    root@host [/]# cd /usr/local/include/
    root@host [/usr/local/include]# ll
    total 7
    drwxr-xr-x    6 root     root         1024 Apr  4 15:00 ./
    drwxr-xr-x   22 root     root         1024 Apr  4 14:57 ../
    drwxr-xr-x    2 root     root         1024 Apr  4 17:35 neon/
    drwxr-xr-x    8 root     root         1024 Aug 27 18:45 php/
    drwxr-xr-x    2 root     root         2048 Jul  5  2006 python2.4/
    drwxr-xr-x    2 root     root         1024 Apr  4 17:35 subversion-1/
    root@host [/usr/local/include]# ln -s /usr/kerberos/include/* .
    root@host [/usr/local/include]# ll
    total 16
    drwxr-xr-x    6 root     root         1024 Sep  4 15:01 ./
    drwxr-xr-x   22 root     root         1024 Apr  4 14:57 ../
    lrwxrwxrwx    1 root     root           27 Sep  4 15:01 asn.1 -> /usr/kerberos/include/asn.1/
    lrwxrwxrwx    1 root     root           31 Sep  4 15:01 com_err.h -> /usr/kerberos/include/com_err.h
    lrwxrwxrwx    1 root     root           28 Sep  4 15:01 gssapi -> /usr/kerberos/include/gssapi/
    lrwxrwxrwx    1 root     root           32 Sep  4 15:01 kerberosIV -> /usr/kerberos/include/kerberosIV/
    lrwxrwxrwx    1 root     root           28 Sep  4 15:01 krb5.h -> /usr/kerberos/include/krb5.h
    lrwxrwxrwx    1 root     root           30 Sep  4 15:01 libpty.h -> /usr/kerberos/include/libpty.h
    lrwxrwxrwx    1 root     root           42 Sep  4 15:01 mit-sipb-copyright.h -> /usr/kerberos/include/mit-sipb-copyright.h
    drwxr-xr-x    2 root     root         1024 Apr  4 17:35 neon/
    drwxr-xr-x    8 root     root         1024 Aug 27 18:45 php/
    lrwxrwxrwx    1 root     root           36 Sep  4 15:01 port-sockets.h -> /usr/kerberos/include/port-sockets.h
    lrwxrwxrwx    1 root     root           31 Sep  4 15:01 profile.h -> /usr/kerberos/include/profile.h
    drwxr-xr-x    2 root     root         2048 Jul  5  2006 python2.4/
    drwxr-xr-x    2 root     root         1024 Apr  4 17:35 subversion-1/
    
    And then re performed "/usr/local/cpanel/bin/checkperlmodules" which then succeeded.

    I then removed the temporary symlinks.

    Maybe someone who knows more about how these updates work can fathom how to fix the distro package.

    Hope that helps someone else - I could find no specific thread to post too.
     
  2. cPanelNick

    cPanelNick Administrator
    Staff Member

    Joined:
    Mar 9, 2015
    Messages:
    3,483
    Likes Received:
    31
    Trophy Points:
    158
    cPanel Access Level:
    DataCenter Provider
    Found the root of the problem, and reported it to the module maintainer.

    http://rt.cpan.org/Public/Bug/Display.html?id=29149



    In the mean time, we added a holdback to 1.30 which doesn't have the problem.

    To install 1.30
    Code:
    rm /home/.cpcpan/modules.version /home/.cpcpan/modules.versions
    /scripts/perlinstaller --force Net::SSLeay
     
Loading...

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice