Eror installing Perl Crypt::OpenSSL::RSA module

cpanperl

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 are 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.

Best Answer

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

Or if you're on something debian-based:

sudo apt-get install libssl-dev