Не удалось найти OpenSSL. Если он уже установлен, установите соответствующую переменную среды OPENSSL_PREFIX. - PullRequest
0 голосов
/ 04 июня 2019

Когда я пытаюсь установить Net::SSLeay на Debian, я получаю

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

Но у меня установлен OpenSSL,

$ 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Я пытался играть с OPENSSL_PREFIX тоже.

1 Ответ

2 голосов
/ 04 июня 2019

Это не ошибка, которая возникает из-за невозможности найти заголовки (предоставляется -dev), а потому что она не может найти двоичную утилиту openssl.Заголовки все еще требуются, но вам также нужна двоичная утилита openssl.Вы можете либо установить Net::SSLeay с самим apt, либо собрать модуль из исходного кода.Простой способ установки Net::SSLeay из apt может быть выполнен с помощью

sudo apt install libnet-ssleay-perl

В качестве альтернативы вы можете установить двоичный файл openssl и попробовать установить снова с помощью cpan.

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

Вы можете проверить, установлен ли openssl (если это работает, ошибка не должна быть воспроизведена)

openssl version
...