From: <co...@ix...> - 2006-02-21 15:53:58
|
Hi, i found problem. I use openssl-0.9.8a and i resolve problem. The ssl.h file does not include md5.h and ripemd.h so i added them in RSA.xs file after: #include <openssl/ssl.h> #include <openssl/md5.h> #include <openssl/ripemd.h> #include <openssl/bn.h> ...... and module is compiled successful ... #make /usr/bin/perl5.8.8 /usr/lib/perl5/5.8.8/ExtUtils/xsubpp -typemap /usr/lib/perl5/5.8.8/ExtUtils/typemap -typemap typemap RSA.xs > RSA.xsc && mv RSA.xsc RSA.c cc -c -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -march=i486 -mtune=i686 -DVERSION=\"0.22\" -DXS_VERSION=\"0.22\" -fPIC "-I/usr/lib/perl5/5.8.8/i486-linux/CORE" -DPERL5 -DOPENSSL_NO_KRB5 RSA.c RSA.xs: In function `XS_Crypt__OpenSSL__RSA_encrypt': RSA.xs:371: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_decrypt': RSA.xs:380: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_private_encrypt': RSA.xs:389: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type RSA.xs: In function `XS_Crypt__OpenSSL__RSA_public_decrypt': RSA.xs:398: warning: passing arg 3 of `rsa_crypt' from incompatible pointer type Running Mkbootstrap for Crypt::OpenSSL::RSA () chmod 644 RSA.bs rm -f blib/arch/auto/Crypt/OpenSSL/RSA/RSA.so LD_RUN_PATH="/usr/lib" cc -shared -L/usr/local/lib RSA.o -o blib/arch/auto/Crypt/OpenSSL/RSA/RSA.so \ -lssl -lcrypto \ chmod 755 blib/arch/auto/Crypt/OpenSSL/RSA/RSA.so cp RSA.bs blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs chmod 644 blib/arch/auto/Crypt/OpenSSL/RSA/RSA.bs Manifying blib/man3/Crypt::OpenSSL::RSA.3 Regards, John > (Cc-ing per...@li...) > > John, > > I'm not sure why this isn't working for you; this is the first report > I've had of behavior like this. > > The constants it's complaining about *should* be defined in the openssl > include files. For example (in my installation, version 0.9.7e), both > the MD5_DIGEST_LENGTH macro definition and the MD5 function declaration > are in /usr/include/openssl/md5.h, which is included > by /usr/include/openssl/evp.h, which in turn is included > by /usr/include/openssl/pem.h, which gets included > by /usr/include/openssl/ssl.h. Finally, RSA.xs contains the line: > > #include <openssl/ssl.h> > > which means that (again, with my installation), MD5_DIGEST_LENGTH is > defined, and MD5 declared. The question is then why it's not getting > defined on your installation. > > You mention you are using slackware 10.2; what version of openssl does > that come with? Does it contain the aforementioned files (either > in /usr/include, or some other place in your include path). If so, does > md5.h contain a definition for MD5_DIGEST_LENGTH and a declaration of > the MD5 function? > > - Ian > > On Wed, 2006-02-15 at 09:33 +0200, you wrote: >> Hello, >> Crypt-OpenSSL-RSA-0.22 won't compile. You can see errors below. >> Sorry that i write you personal email, but i unable to found and fix >> problem. I use slackware 10.2 OS. I have installed >> Crypt::OpenSSL::Random >> module. Do you can help me to fix errro ? >> >> Regards, >> John >> >> --- error --- >> cc -c -fno-strict-aliasing -pipe -Wdeclaration-after-statement >> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 >> -march=i486 -mtune=i686 -DVERSION=\"0.22\" -DXS_VERSION=\"0.22\" -fPIC >> "-I/usr/lib/perl5/5.8.8/i486-linux/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 >> > |