From: Ian R. <ia...@re...> - 2006-02-20 06:07:32
|
(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 > |