I spent several hours but unable to install CPAN Crypt::OpenSSL::RSA module. It's required for Postfix's dkimproxy add-on.

What I do is to run the following command in the shell:

$ perl -MCPAN -e 'install Crypt::OpenSSL::RSA'

When I run this command, several lines displayed and at the end, this is displayed:

Checking if your kit is complete...
Looks good
Warning: prerequisite Crypt::OpenSSL::Random 0 not found.
Writing Makefile for Crypt::OpenSSL::RSA
---- Unsatisfied dependencies detected during [I/IR/IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz] -----
    Crypt::OpenSSL::Random
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] 

Then I hit enter (yes) and tens of lines generated with error. At the end I get this:

...
...
RSA.xs:579: warning: implicit declaration of function ‘RSA_sign’
RSA.xs:579: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:579: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:579: error: ‘rsaData’ has no member named ‘rsa’
RSA.xs: In function ‘XS_Crypt__OpenSSL__RSA_verify’:
RSA.xs:605: error: ‘rsaData’ has no member named ‘rsa’
RSA.xs:610: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:611: warning: implicit declaration of function ‘RSA_verify’
RSA.xs:611: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:613: error: ‘rsaData’ has no member named ‘hashMode’
RSA.xs:616: error: ‘rsaData’ has no member named ‘rsa’
RSA.xs:619: warning: implicit declaration of function ‘ERR_peek_error’
RSA.xs: In function ‘boot_Crypt__OpenSSL__RSA’:
RSA.xs:214: warning: implicit declaration of function ‘ERR_load_crypto_strings’
make: *** [RSA.o] Error 1
  /usr/bin/make  -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

What am I doing wrong? Please guide me. Thanks.

link|improve this question

64% accept rate
feedback

5 Answers

Just came across this problem myself on CentOS 5.4 I didn't have openssl-devel installed! So running:
yum install openssl-devel
fixed it for me

link|improve this answer
feedback

You're missing a header somewhere. Above what you posted in the output you should see a reference to a missing .h file. Figure out what package provides that particular header and you're one step closer. Lather...Rinse...Repeat, eventually it will compile :)

link|improve this answer
Looking more at your post you should probably install Crypt::OpenSSL::Random and try again. – d34dh0r53 Jan 28 '10 at 23:21
Hi, thanks for your reply. It seems that Crypt::OpenSSL::Random is causing the problem. Whenever I try to install this module with perl -MCPAN -e 'install Crypt::OpenSSL::Random' it generates errors I have pasted above. Any ideas? I am unable to install dkimproxy for this reason :(((( – Willy Jan 30 '10 at 16:46
Paste the full output of the installation of Crypt::OpenSSL::Random. – d34dh0r53 Feb 1 '10 at 22:01
feedback

Yup, that fixed my problem too on a Debian box.

Ran Aptitude, and then did a search for "openssl" and saw the lib-openssl package, and installed it.

Re-ran CPAN, did the install Crypt::OpenSSL::RSA and everything went smoothly.

  • Eric Gillette
link|improve this answer
feedback

Odd, I have similar installed on Debian Squeeze, and this module always fails.

perl Makefile.PL

Warning: prerequisite Crypt::OpenSSL::Random 0 not found. Writing Makefile for Crypt::OpenSSL::RSA

..but I cannot find the exact package you refer to. ii libcrypt-openssl-bignum-perl 0.04-2 Access OpenSSL multiprecision integer arithmetic libraries ii libcrypt-openssl-dsa-perl 0.13-4 module which implements the DSA signature verification system ii libcrypt-openssl-rsa-perl 0.25-1+b1 Perl module providing basic RSA functionality ii libcrypt-openssl-x509-perl 1.4-1 Perl extension to OpenSSL's X509 API

link|improve this answer
feedback

Fixed my problem too for Ubuntu, but needed libengine-tpm-openssl.

Ran again:

$ sudo perl -MCPAN -e 'install Crypt::OpenSSL::RSA'

and it went ok.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.