From: Rosenbaum, L. M. <ros...@or...> - 2006-04-11 15:16:17
|
When building Crypt::OpenSSL::RSA (Solaris 9, Perl 5.8.5) on a system with OpenSSL 0.9.8a, I got the following errors: # perl Makefile.PL INC=3D'-I/usr/local/ssl/include' \ LIBS=3D'-L/usr/local/ssl/lib -lssl -lcrypto' Checking if your kit is complete... Looks good Writing Makefile for Crypt::OpenSSL::RSA # make cp RSA.pm blib/lib/Crypt/OpenSSL/RSA.pm AutoSplitting blib/lib/Crypt/OpenSSL/RSA.pm (blib/lib/auto/Crypt/OpenSSL/RSA) /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 RSA.xs > RSA.xsc && mv RSA.xsc RSA.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_FILE_OFFSET_BITS=3D64 -O -DVERSION=3D\"0.22\" = -DXS_VERSION=3D\"0.22\" -fPIC "-I/usr/local/lib/perl5/5.8.5/sun4-solaris/CORE" -DPERL5 -DOPENSSL_NO_KRB5 RSA.c RSA.xs: In function `get_digest_length': RSA.xs:67: error: `MD5_DIGEST_LENGTH' undeclared (first use in this function) RSA.xs:67: error: (Each undeclared identifier is reported only once RSA.xs:67: error: for each function it appears in.) RSA.xs:73: error: `RIPEMD160_DIGEST_LENGTH' undeclared (first use in this function) RSA.xs: In function `get_message_digest': RSA.xs:91: warning: return makes pointer from integer without a cast RSA.xs:97: warning: return makes pointer from integer without a cast RSA.xs: In function `XS_Crypt__OpenSSL__RSA_encrypt': RSA.xs:369: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_decrypt': RSA.xs:378: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_private_encrypt': RSA.xs:387: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_public_decrypt': RSA.xs:396: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type make: *** [RSA.o] Error 1 I had to add the following lines to RSA.xs to make the build succeed: #include <openssl/md5.h> #include <openssl/ripemd.h> It appears that starting around v0.9.8, OpenSSL's evp.h file no longer automatically includes md5.h and ripemd.h. Also, notice that I had to add LIBS=3D and INC=3D to the "perl = Makefile.PL" command. Thanks, Larry |