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 |
From: Ian R. <ia...@re...> - 2006-04-13 13:54:16
|
Larry, This has been fixed in version 0.23 (just released, so it might take a bit to show up on the mirrors). - Ian On Tue, 2006-04-11 at 11:16 -0400, Rosenbaum, Larry M. wrote: > 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='-I/usr/local/ssl/include' \ > LIBS='-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=64 -O -DVERSION=\"0.22\" -DXS_VERSION=\"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= and INC= to the "perl Makefile.PL" > command. > > Thanks, > Larry > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting language > that extends applications into web and mobile media. Attend the live webcast > and join the prime developer group breaking into this new coding territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid0944&bid$1720&dat1642 > _______________________________________________ > Perl-openssl-users mailing list > Per...@li... > https://lists.sourceforge.net/lists/listinfo/perl-openssl-users |