Joshua,

I'm currently trying to get Crypt::SSLeay 0.51 to run on a Sun Sparc V120 running Solaris 
10, Apache2 and Perl 5.8.5 .  The module compiles without errors, but the "make 
test" fails:

###--- perl Makefile.PL
mps:/root/temp/Crypt-SSLeay-0.51# perl Makefile.PL
Found OpenSSL (version OpenSSL 0.9.8) installed at /usr/local/ssl
Which OpenSSL build path do you want to link against? [/usr/local/ssl]

================================================
BUILD INFORMATION
================================================

ssl dir:        /usr/local/ssl
libraries:      -lssl -lcrypto -lgcc -lRSAglue -lrsaref
include dir:    /usr/local/ssl/include
ssl header:     openssl/ssl.h
ssl candidate:  /usr/local/ssl; /usr/local/ssl/include/openssl; OpenSSL 0.9.8

================================================

Checking if your kit is complete...
Looks good
Note (probably harmless): No library found for -lgcc
Note (probably harmless): No library found for -lRSAglue
Note (probably harmless): No library found for -lrsaref
Writing Makefile for Crypt::SSLeay
###--- perl Makefile.PL

###--- make
mps:/root/temp/Crypt-SSLeay-0.51# make
cp lib/Crypt/SSLeay/X509.pm blib/lib/Crypt/SSLeay/X509.pm
cp lib/Net/SSL.pm blib/lib/Net/SSL.pm
cp SSLeay.pm blib/lib/Crypt/SSLeay.pm
cp lib/Crypt/SSLeay/MainContext.pm blib/lib/Crypt/SSLeay/MainContext.pm
cp lib/Crypt/SSLeay/Conn.pm blib/lib/Crypt/SSLeay/Conn.pm
cp lib/Crypt/SSLeay/CTX.pm blib/lib/Crypt/SSLeay/CTX.pm
cp lib/Crypt/SSLeay/Err.pm blib/lib/Crypt/SSLeay/Err.pm
/usr/local/bin/perl /usr/local/lib/perl5/5.8.5/ExtUtils/xsubpp  -typemap 
/usr/local/lib/perl5/5.8.5/ExtUtils/typemap -typemap typemap  SSLeay
.xs > SSLeay.xsc && mv SSLeay.xsc SSLeay.c
gcc -B/usr/ccs/bin/ -c  -I/usr/local/ssl/include -fno-strict-aliasing -pipe 
-I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE -D_FI
LE_OFFSET_BITS=64 -O   -DVERSION=\"0.51\" -DXS_VERSION=\"0.51\" -fPIC 
"-I/usr/local/lib/perl5/5.8.5/sun4-solaris/CORE"   SSLeay.c
SSLeay.xs: In function `XS_Crypt__SSLeay__Conn_new':
SSLeay.xs:252: warning: passing arg 2 of `SSL_set_info_callback' from 
incompatible pointer type
Running Mkbootstrap for Crypt::SSLeay ()
chmod 644 SSLeay.bs
rm -f blib/arch/auto/Crypt/SSLeay/SSLeay.so
LD_RUN_PATH="/usr/local/ssl/lib" gcc -B/usr/ccs/bin/  -G -L/usr/local/lib 
-L/opt/gnu/lib SSLeay.o  -o blib/arch/auto/Crypt/SSLeay/SSLeay.so
-L/usr/local/ssl/lib -lssl -lcrypto
chmod 755 blib/arch/auto/Crypt/SSLeay/SSLeay.so
cp SSLeay.bs blib/arch/auto/Crypt/SSLeay/SSLeay.bs
chmod 644 blib/arch/auto/Crypt/SSLeay/SSLeay.bs
Manifying blib/man3/Crypt::SSLeay.3
###--- make

###--- make test
mps:/root/temp/Crypt-SSLeay-0.51# make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" 
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/net_ssl........dubious
       Test returned status 0 (wstat 139, 0x8b)
       test program seems to have generated a core
t/ssl_context....dubious
       Test returned status 0 (wstat 139, 0x8b)
       test program seems to have generated a core
FAILED--2 test scripts could be run, alas--no output ever seen
make: *** [test_dynamic] Error 2
###--- make test

I went ahead and did the "make install" but it dumps core.  Even when running 
Apache with the error logging set to 'debug', the only message given in the error log is:

###--- error log
[Wed Feb 08 10:46:12 2006] [error] [client 192.245.221.22] Premature end of 
script headers: ssleay.pl
###--- error log

The same program, with the pertinent code commented out, does a %ENV dump, 
which works:

###--- %ENV dump
DOCUMENT_ROOT  /opt/www/htdocs
GATEWAY_INTERFACE    CGI/1.1
HTTPS    on
HTTPS_DEBUG    1
HTTP_ACCEPT    
application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1
HTTP_ACCEPT_CHARSET  ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING    gzip,deflate
HTTP_ACCEPT_LANGUAGE    en-us,en;q=0.5
HTTP_CACHE_CONTROL   no-cache
HTTP_CONNECTION   keep-alive
HTTP_COOKIE    SITESERVER=ID=a2096b041f7a87d85f51f0a1364231d6
HTTP_HOST   mps.southalabama.edu
HTTP_KEEP_ALIVE   300
HTTP_PRAGMA    no-cache
HTTP_USER_AGENT   Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) 
Gecko/20050511
PATH  
/usr/local/bin:/usr/local:/bin:/sbin:/usr/sbin:/usr/ucb:/usr/ccs/bin:/usr/ccs/lib:/usr/local/sbin:/usr/lib/acct:.
QUERY_STRING REMOTE_ADDR 192.245.221.22
REMOTE_PORT    51697
REQUEST_METHOD    GET
REQUEST_URI    /cgi-bin/ssleay.pl
SCRIPT_FILENAME   /opt/www/cgi-bin/ssleay.pl
SCRIPT_NAME    /cgi-bin/ssleay.pl
SERVER_ADDR    192.245.221.211
SERVER_ADMIN   [EMAIL PROTECTED]
SERVER_NAME    mps.southalabama.edu
SERVER_PORT    443
SERVER_PROTOCOL   HTTP/1.1
SERVER_SIGNATURE Apache/2.0.55 (Unix) DAV/2 mod_ssl/2.0.55 OpenSSL/0.9.8a Server at mps.southalabama.edu Port 443
SERVER_SOFTWARE   Apache/2.0.55 (Unix) DAV/2 mod_ssl/2.0.55 OpenSSL/0.9.8a
SSL_CIPHER  DHE-RSA-AES256-SHA
SSL_CIPHER_ALGKEYSIZE   256
SSL_CIPHER_EXPORT    false
SSL_CIPHER_USEKEYSIZE   256
SSL_CLIENT_VERIFY    NONE
SSL_PROTOCOL   TLSv1
SSL_SERVER_A_KEY  rsaEncryption
SSL_SERVER_A_SIG  sha1WithRSAEncryption
SSL_SERVER_I_DN   /C=US/O=RSA Data Security, Inc./OU=Secure Server 
Certification Authority
SSL_SERVER_I_DN_C    US
SSL_SERVER_I_DN_O    RSA Data Security, Inc.
SSL_SERVER_I_DN_OU   Secure Server Certification Authority
SSL_SERVER_M_SERIAL  3FCA69D81DA9EA5185320F9B466D2DE8
SSL_SERVER_M_VERSION    3
SSL_SERVER_S_DN   /C=US/ST=Alabama/L=Mobile/O=University of South 
Alabama/OU=Computer Services Center/CN=mps.southalabama.edu
SSL_SERVER_S_DN_C    US
SSL_SERVER_S_DN_CN   mps.southalabama.edu
SSL_SERVER_S_DN_L    Mobile
SSL_SERVER_S_DN_O    University of South Alabama
SSL_SERVER_S_DN_OU   Computer Services Center
SSL_SERVER_S_DN_ST   Alabama
SSL_SERVER_V_END  Nov 28 23:59:59 2006 GMT
SSL_SERVER_V_START   Nov 28 00:00:00 2005 GMT
SSL_SESSION_ID    
565909524180B0BAC454CB07BE49A71FAB0DCAEA3466DBE0025287A7A781ABCB
SSL_VERSION_INTERFACE   mod_ssl/2.0.55
SSL_VERSION_LIBRARY  OpenSSL/0.9.8a
TZ    US/Central
UNIQUE_ID   SB3SaMD13dMAAEgO-PAAAAAG
###--- %ENV dump

###--- perl -V
Summary of my perl5 (revision 5 version 8 subversion 5) configuration:
 Platform:
   osname=solaris, osvers=2.9, archname=sun4-solaris
   uname='sunos 5.9 generic sun4u sparc sunw,ultra-5_10 solaris '
   config_args='-Dcc=gcc -B/usr/ccs/bin/'
   hint=recommended, useposix=true, d_sigaction=define
   usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
   useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
   use64bitint=undef use64bitall=undef uselongdouble=undef
   usemymalloc=n, bincompat5005=undef
 Compiler:
   cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe 
-I/usr/local/include
-I/opt/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
   optimize='-O',
   cppflags='-fno-strict-aliasing -pipe -I/usr/local/include -I/opt/gnu/include'
   ccversion='', gccversion='3.3.2', gccosandvers='solaris2.9'
   intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
   d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
   ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
   alignbytes=8, prototype=define
 Linker and Libraries:
   ld='gcc -B/usr/ccs/bin/', ldflags =' -L/usr/local/lib -L/opt/gnu/lib '
   libpth=/usr/local/lib /opt/gnu/lib /usr/lib /usr/ccs/lib
   libs=-lsocket -lbind -lnsl -lgdbm -ldb -ldl -lm -lc
   perllibs=-lsocket -lbind -lnsl -ldl -lm -lc
   libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
   gnulibc_version=''
 Dynamic Linking:
   dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
   cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib -L/opt/gnu/lib'


Characteristics of this binary (from libperl):
 Compile-time options: USE_LARGE_FILES
 Built under solaris
 Compiled at Jul 28 2004 04:13:13
 %ENV:
   PERL5LIB="/root/perl/lib"
   PERL5_CPANPLUS_CONFIG="/root/.cpanplus/config"
 @INC:
   /root/perl/lib
   /usr/local/lib/perl5/5.8.5/sun4-solaris
   /usr/local/lib/perl5/5.8.5
   /usr/local/lib/perl5/site_perl/5.8.5/sun4-solaris
   /usr/local/lib/perl5/site_perl/5.8.5
   /usr/local/lib/perl5/site_perl
   .
###--- perl -V


###--- perl test program
#!/usr/local/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use Crypt::SSLeay;
use CGI::Carp 'fatalsToBrowser';

# DEBUGGING switch
$ENV{HTTPS_DEBUG} = 1;

# SET SSL v3
#$ENV{HTTPS_VERSION} = 3;

# CLIENT CERT SUPPORT
#$ENV{HTTP_CERT_FILE} = '/usr/local/apache2/conf/ssl.crt/mps4.pem';
#$ENV{HTTP_KEY_FILE}  = '/usr/local/apache2/conf/ssl.crt/mps.nopass.pem';

# CA CERT PEER VERIFICATION
#$ENV{HTTP_CA_FILE} = '/usr/local/apache2/conf/ssl.crt';
#$ENV{HTTP_CA_DIR}  = '/usr/local/apache2/conf/';

# CLIENT PKCS12 CERT SUPPORT
#$ENV{HTTP_PKCS12_FILE}     = '/usr/local/apache2/conf/ssl.crt/export.pkcs12';
#$ENV{HTTP_PCKS12_PASSWORD} = '';

print "Content-type: text/html\n\n";

print "<html>\n";
print "<body>\n";
print <<"EOF";
<center>
<table border=2 cellpadding=10 cellspacing=10>
<th align=left><h3>Environment Variable</h3>
<th align=left><h3>Contents</h3><tr>
EOF

for ( sort keys(%ENV) ) {
  print "<td> $_ <td> $ENV{$_}<tr>";
}

print <<"EOF";
</table>
</body>
</html>
EOF

__DATA__;

my $ua = new LWP::UserAgent;
my $req = new HTTP::Request( 'GET', 'https://mps.southalabama.edu' );
my $res = $ua->request($req);
print $res->code . "\n";
###--- perl test program

Installed related modules:
  LWP 5.804 GAAS


openSSL seems to be working fine through normal HTTPS communications. Any help 
or suggestions you can provide would be appreciated.

Regards,

Jim Longino
Systems Analyst I
Academic Computing
Computer Services Center
University of South Alabama
Phone: (251) 460-6161

Reply via email to