[Crypt::SSLeay] make test problem on Solaris 10

[Crypt::SSLeay] make test problem on Solaris 10

am 10.02.2006 00:00:19 von jlongino

Apologies if this duplicates a message I sent to libwww@perl.org. I haven't been able find the message in any forums or by Googling for it.

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,appli cation/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mn g,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 acad@jaguar1.usouthal.edu
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 565909524180B0BAC454CB07BE49A71FAB0DCAEA3466DBE0025287A7A781 ABCB
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 "\n";
print "\n";
print <<"EOF";




EOF

for ( sort keys(%ENV) ) {
print "";
}

print <<"EOF";

Environment Variable


Contents

$_ $ENV{$_}



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