http://qs1969.pair.com?node_id=535006


in reply to Installing Net::SSLeay on Linux

--how can i get past this and install this module?
Install openssl? Pass the correct path to your openssl installation directory?

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.

Replies are listed 'Best First'.
Re^2: Installing Net::SSLeay on Linux
by philosophia (Sexton) on Mar 07, 2006 at 19:44 UTC
    my openssl is installed

    openssl version
    OpenSSL 0.9.7g 11 Apr 2005

    which openssl
    /usr/bin/openssl
    --when i pass this to cpan i still get the same error above. i've also tried passing '/usr/bin' to cpan. same error.

    i've also tried installing the development environment libssl-dev. it did not make a different and i still get the same error

      Examine Makefile.PL, you'll see this
      # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. my %configParams = ( NAME => 'Net::SSLeay', VERSION_FROM => 'SSLeay.pm', # finds $VERSION DIR => [ 'Net-SSLeay-Handle-0.50' ], DEFINE => '-DPERL5 -DOPENSSL_NO_KRB5', # perl-5.8/gcc-3.2 n +eeds first, RH9 latter DISTNAME => 'Net_SSLeay.pm', dist => { COMPRESS => 'gzip', SUFFIX => 'gz', }, LIBS => ["-L$openssl_path -L$openssl_path/lib -L$openssl_path/o +ut32dll $libs"], INC => "-I$openssl_path/include -I$openssl_path/inc32 -I/usr/k +erberos/include", OPTIMIZE => $optimize, # Uncomment (and edit) following for debugging with gdb # LIBS => ['-L/usr/src/openssl-0.9.3a -lssl -lcrypto'], # INC => '-I/usr/src/openssl-0.9.3a/include', # OPTIMIZE => '-g', %more_params, ); WriteMakefile(%configParams); # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. #WriteMakefile( # 'NAME' => 'Net::SSLeay::Handle', # 'VERSION_FROM' => 'Handle.pm', # finds $VERSION #);
      You want to focus on INC/LIBS,
      LIBS => ["-L$openssl_path -L$openssl_path/lib -L$openssl_path/o +ut32dll $libs"], INC => "-I$openssl_path/include -I$openssl_path/inc32 -I/usr/k +erberos/include",
      $openssl_path is the path you're supposed to pass, and its supposed to contain $libs
      $libs = $rsaref ? "-lssl -lcrypto -lRSAglue -lrsaref" : "-lssl -lcrypt +o";
      What this means is that "ssl.$Config{dlext}", "crypto.$Config{dlext}" (%Config from use Config;) are supposed to be located somewher in $openssl_path, $openssl_path/lib, $openssl_path/out32dll, because thats where the compiler/linker are going to look (perl -V:cc -V:ld).

      Feel free to edit the Makefile.PL LIBS/INC entries appropriately.

      MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
      I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
      ** The third rule of perl club is a statement of fact: pod is sexy.

        how can i set $OPENSSL_PATH if it's currently undefined on my system?

        echo $OPENSSL_PATH gives me nothing.
        i was also able to find Makefile.PL's for other installed perl modules, ie.,

        /root/.cpan/build/Archive-Zip-1.16/Makefile.PL
        /root/.cpan/build/Crypt-CipherSaber-1.00/Makefile.PL
        /root/.cpan/build/Test-Warn-0.08/Makefile.PL
        /root/.cpan/build/Test-Exception-0.21/Makefile.PL

        etc., but none that seemed specific to Net::SSLeay