Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Compiling Net::SSLeay vs. OpenSSL vs. Perl 5.8.1

by Corion (Patriarch)
on Oct 14, 2003 at 16:49 UTC ( [id://299180]=perlquestion: print w/replies, xml ) Need Help??

Corion has asked for the wisdom of the Perl Monks concerning the following question:

In an act of stubbornness, I decided to compile my own Perl 5.8.1 under Win32 instead of using any of the prefabricated binaries. I have bested the CPAN problems of having a space in my home directory, installed HTML::Parser without a problem, but I have now hit a stopgap in my way:

Net::SSLeay will not pass its tests but rather crash perl when its test suite is run. I compiled and installed (after another) openssl-0.9.6k and the current release of openssl-0.9.7, but to no avail - one spawned Perl process dies and the other remains as a consoleless zombie process.

Searching with Google yielded no reports or fixes, so I'm turning to the good monks to help me out with this. If this is to be submitted to p5p, I will do so, but as I don't monitor it regularly enough, I'll try here if there is an easy solution to my stupidity :-)

C:\Dokumente und Einstellungen\Max\.cpan\build\Net_SSLeay.pm-1.25>perl + Makefile. pl -windows d:\Programme\OpenSSL\ Checking for OpenSSL-0.9.6j or 0.9.7b or newer... You have OpenSSL-0.9.6k installed in d:\Programme\OpenSSL\ Be sure to use the same compiler and options to compile your OpenSSL, +perl, and Net::SSLeay. Mixing and matching compilers is not supported. (Currentl +y I do not have a way to check this on Windows platform.) Writing Makefile for Net::SSLeay::Handle Writing Makefile for Net::SSLeay C:\Dokumente und C:\Dokumente und Einstellungen\Max\.cpan\build\Net_SS +Leay.pm-1.25>nmake test Microsoft (R) Program Maintenance Utility Version 1.50 Copyright (c) Microsoft Corp 1988-94. All rights reserved. cl -c -Id:\Programme\OpenSSL\/include -Id:\Programme\OpenSSL\ +/inc32 -I/ usr/kerberos/include -nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CONS +OLE -DNO_S TRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -D +USE_PERLIO -DPERL_MSVCRT_READFIX -O -DVERSION=\"1.25\" -DXS_VERSION=\"1.25\" + "-ID:\pe rl\5.8.1\lib\CORE" -DPERL5 -DOPENSSL_NO_KRB5 SSLeay.c SSLeay.c SSLeay.xs(1971) : warning C4018: '<=' : Konflikt zwischen signed und u +nsigned Running Mkbootstrap for Net::SSLeay () D:\perl\5.8.1\bin\perl.exe -MExtUtils::Command -e chmod 644 SS +Leay.bs link -out:blib\arch\auto\Net\SSLeay\SSLeay.dll -dll -nologo -n +odefaultli b -release -libpath:"d:\perl\5.8.1\lib\CORE" -machine:x86 SSLeay.obj + D:\perl \5.8.1\lib\CORE\perl58.lib d:\Programme\OpenSSL\\lib\libeay32.lib d:\P +rogramme\O penSSL\\lib\ssleay32.lib C:\PROGRA~1\MICROS~3\VC98\lib\oldnames.lib C: +\PROGRA~1\ MICROS~3\VC98\lib\kernel32.lib C:\PROGRA~1\MICROS~3\VC98\lib\user32.li +b C:\PROGR A~1\MICROS~3\VC98\lib\gdi32.lib C:\PROGRA~1\MICROS~3\VC98\lib\winspool +.lib C:\PR OGRA~1\MICROS~3\VC98\lib\comdlg32.lib C:\PROGRA~1\MICROS~3\VC98\lib\ad +vapi32.lib C:\PROGRA~1\MICROS~3\VC98\lib\shell32.lib C:\PROGRA~1\MICROS~3\VC98\l +ib\ole32.l ib C:\PROGRA~1\MICROS~3\VC98\lib\oleaut32.lib C:\PROGRA~1\MICROS~3\VC9 +8\lib\neta pi32.lib C:\PROGRA~1\MICROS~3\VC98\lib\uuid.lib C:\PROGRA~1\MICROS~3\V +C98\lib\ws ock32.lib C:\PROGRA~1\MICROS~3\VC98\lib\mpr.lib C:\PROGRA~1\MICROS~3\V +C98\lib\wi nmm.lib C:\PROGRA~1\MICROS~3\VC98\lib\version.lib C:\PROGRA~1\MICROS~3 +\VC98\lib\ odbc32.lib C:\PROGRA~1\MICROS~3\VC98\lib\odbccp32.lib C:\PROGRA~1\MICR +OS~3\VC98\ lib\msvcrt.lib -def:SSLeay.def Bibliothek blib\arch\auto\Net\SSLeay\SSLeay.lib und Objekt blib\arc +h\auto\Net \SSLeay\SSLeay.exp wird erstellt D:\perl\5.8.1\bin\perl.exe -MExtUtils::Command -e chmod 755 bl +ib\arch\au to\Net\SSLeay\SSLeay.dll D:\perl\5.8.1\bin\perl.exe -MExtUtils::Command -e cp SSLeay.bs + blib\arch \auto\Net\SSLeay\SSLeay.bs D:\perl\5.8.1\bin\perl.exe -MExtUtils::Command -e chmod 644 bl +ib\arch\au to\Net\SSLeay\SSLeay.bs D:\perl\5.8.1\bin\perl.exe "-Iblib\lib" "-Iblib\arch" test.pl 1..20 ok 1 Testing pointer to int casting... cc: cl Optimierender Microsoft (R) 32-Bit C/C++-Compiler, Version 12.00.8168, + fuer x86 Copyright (C) Microsoft Corp 1984-1998. Alle Rechte vorbehalten. ptrcasttst.c Microsoft (R) Incremental Linker Version 6.00.8168 Copyright (C) Microsoft Corp 1992-1998. All rights reserved. /out:ptrcasttst.exe /out:ptrcasttst.exe ptrcasttst.obj ok ./ptrcasttst: 'void *' len: 4, 'unsigned long int' len: 4. ptrcasttst: ok (003000B0 == 003000B0). ok ok ok 2 ok 3 ok 4 Spawning a TCP test server on port 1211, pid=-1444... (first crash here) *** not ok 5tcp Spawning a SSL test server on port 1212, pid=-1424... ok 5 ok 6 ok 7 ok 8 ok 9 Sending 1 MB over localhost, may take a while (and some VM)... ...took 3 secs (341 KB/s) ok 10 932: ssl read failed at examples/cli-cert.pl line 53. NMAKE : fatal error U1077: 'C:\WINNT\system32\cmd.exe' : return code ' +0x1' Stop.

My Perl is :

C:\Dokumente und Einstellungen\Max\.cpan\build\Net_SSLeay.pm-1.25>perl + -V Summary of my perl5 (revision 5 version 8 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultip +licity=def ine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -DNDEBUG -O1 -DWIN32 -D_CON +SOLE -DNO_ STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS +-DUSE_PERL IO -DPERL_MSVCRT_READFIX', optimize='-MD -DNDEBUG -O1', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64 +', lseeksi ze=8 alignbytes=8, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"d:\ +perl\5.8.1 \lib\CORE" -machine:x86' libpth=C:\PROGRA~1\MICROS~3\VC98\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32 .lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uui +d.lib wsoc k32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt. +lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comd lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib + uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msv +crt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib gnulibc_version='undef' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -l +ibpath:"d: \perl\5.8.1\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL +_IMPLICIT_ CONTEXT PERL_IMPLICIT_SYS Built under MSWin32 Compiled at Oct 12 2003 12:24:00 @INC: D:/perl/5.8.1/lib D:/perl/site/5.8.1/lib D:/perl/site/lib .
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://299180]
Approved by broquaint
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-26 00:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found