in reply to Re: installing Net-SSLeay on Windows system
in thread installing Net-SSLeay on Windows system

Appreciate the response.

Perl version is MSWin32-x86-multi-thread. Is ppm even an option without internet connectivity? The whole reason I'm building from scratch was that I did not believe it possible. As far as the error goes, I was trying to debug it manually, but I don't quite understand what's going on. In SSL.pm @ line 25 (in "use constant"), there's a line that says "SSL_VERIFY_NONE => Net::SSLeay::VERIFY_NONE()". This is invoking the AUTOLOAD routine in SSLeay.pm. The constant() call in that function sets $! to "Bad file descriptor".

According to the other linked node with the identical problem, the autoloader is trying to load C constants from related XS header files. This makes sense, as I can find a SSL_VERIFY_NONE variable in the C source. However, I see nothing related in any of the .al files while grepping through the auto/Net/SSLeay directory. Could you perhaps illustrate the typical process in which this correctly occurs so that I can debug where the failure is coming from, or at least isolate the failure? For now, I don't know if the bug is in my openssl build, my ActiveState build, my Net::SSLeay build, or something entirely different. Am I missing .al files? Did they get built incorrectly? Is the .dll hosed? Some way to at least start pinpointing the problem would at least put me back on track. Since both Perl and the module were built with the same compiler on the same machine (in this case 'cl' using 'nmake'/Visual Studio), I don't understand how it could be a library/CRT issue.

  • Comment on Re^2: installing Net-SSLeay on Windows system

Replies are listed 'Best First'.
Re^3: installing Net-SSLeay on Windows system
by syphilis (Archbishop) on May 14, 2010 at 08:37 UTC


    According to the other linked node with the identical problem


    Duh - missed that. I thought the problem was with Net::SSLeay, but it's IO::Socket::SSL that's causing the problem, isn't it. (Can't reproduce that problem with IO::Socket::SSL on my Win32 x86 perl-5.10.1 - but I'm using a mingw-built perl with a static openssl-0.9.8n library, built using the same compiler.)

    Quick fix:
    How about using Strawberry Perl - which comes with both Net::SSLeay and IO::Socket::SSL already installed ? The latest strawberry-5.12.0 has versions 1.36 and 1.33 respectively - plus it gives you the (gcc) compiler so that you can update these modules (and build other extensions) as you want.

    Cheers,
    Rob
      Hrm, never tried Strawberry Perl, but I'll give it a shot. Thanks.
        never tried Strawberry Perl

        You should be pleasantly surprised when you do try it. As well as using the MinGW port of gcc as your compiler, you'll be using dmake (which also comes with Strawberry Perl) as the make utility. So don't try to use 'nmake' with Strawberry Perl ... as some have done in the past :-)

        Cheers,
        Rob