Evan Carroll
Evan Carroll

Reputation: 1

Could not find OpenSSL If it's already installed, please set the OPENSSL_PREFIX environment variable accordingly

When I try to install Net::SSLeay on Debian, I'm getting

Use of uninitialized value in subroutine entry at Makefile.PL line 290.
Use of uninitialized value $exec in -x at Makefile.PL line 108.
*** Could not find OpenSSL
    If it's already installed, please set the OPENSSL_PREFIX environment
    variable accordingly. If it isn't installed yet, get the latest version
    from http://www.openssl.org/.
N/A

But I do have OpenSSL installed,

$ dpkg -l libssl-dev
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name             Version      Architecture Description
+++-================-============-============-================================================
ii  libssl-dev:amd64 1.1.1b-2     amd64        Secure Sockets Layer toolkit - development files

I've tried playing with OPENSSL_PREFIX too.

Upvotes: 1

Views: 1775

Answers (1)

Evan Carroll
Evan Carroll

Reputation: 1

This is not an error that results from being unable to locate headers (provided by -dev), but because it can't find the openssl binary utility. The headers are still required, but you need the binary openssl utility too. You can either install the Net::SSLeay with apt itself, or build the module from source. The simple method, installing Net::SSLeay from apt, can be done with

sudo apt install libnet-ssleay-perl

Alternatively you can install the binary openssl, and try to install again with cpan.

sudo apt install openssl libssl-dev zlib1g-dev ## all requirements to build Net::SSLeay
cpanm Net::SSLeay

You can verify openssl is installed with (if this works, the error above should not be reproducible)

openssl version

Upvotes: 4

Related Questions