не может скомпилировать openssh из-за того, что библиотека OpenSSL не найдена

Я основываюсь на 16.04, пытаюсь установить openssh из исходников

sudo apt install -y build-essential libssl-dev zlib1g-dev
wget "http://mirrors.evowise.com/pub/OpenBSD/OpenSSH/portable/openssh-7.4p1.tar.gz"
tar xfz openssh-7.4p1.tar.gz
cd openssh-7.4p1
./configure

При попытке настройки я получил следующее сообщение об ошибке:

checking OpenSSL header version... 10101000 (OpenSSL 1.1.1-dev  xx XXX xxxx)
checking OpenSSL library version... not found
configure: error: OpenSSL library not found.

проверка пути / usr / local / ssl # ls показывает следующие файлы

сертификаты ct_log_list.cnf.dist openssl.cnf частный ct_log_list.cnf разное openssl.cnf.dist

Я не знаю, почему он не находит библиотеку openssl, хотя я уже установил библиотеку libssl.

как решить это


person user824624    schedule 29.01.2018    source источник
comment
Попробуйте configure --help. Обратите внимание на --with-openssl-dir и --with-zlib. В последний раз, когда я проверял, OpenSSH не работает с OpenSSL 1.1.0. См. Также OpenSSH PR 48, Сделайте сборку с использованием OpenSSL 1.1.0. Если это ваша проблема, вам следует вернуться к OpenSSL 1.0.2. См. Также Изменения OpenSSL 1.1.0 в вики OpenSSL. Наконец, я считаю, что OpenSSL 7.6p1 является последней версией.   -  person jww    schedule 29.01.2018
comment
Возможно, вас заинтересуют сценарии сборки Noloader. Он может построить для вас OpenVPN с использованием последней версии OpenSSL 1.0.2.   -  person jww    schedule 29.01.2018
comment
какое-нибудь решение для этого? Я получаю ту же ошибку, у меня установлен openssl 1.0.2o, и я добавляю --with-ssl-dir=/usr/local/openssl-1.0.2o в флаг конфигурации.   -  person marathon    schedule 19.04.2018


Ответы (1)


Выполните следующие шаги для кросс-компиляции openSSH:

Пожалуйста, убедитесь, что у вас уже есть openssl, скомпилированный и установленный в определенном каталоге, например / opt / usr / openssl, и в нем есть подкаталог, такой как bin, lib, include и т. Д., В котором есть двоичный файл openssl, библиотеки и файлы заголовков.

Выполните следующую команду с вашего Linux-сервера сборки, рабочий каталог openssh

bash-3.2 $ pwd

/home/xxxxxx/projects/openssh/openssh-8.2p1

bash-3.2 $ CC = ppc_6xx-gcc ПУТЬ = $ ПУТЬ: / opt / eldk / ppc-v42-1 / usr / bin ./configure --with-security-key-builtin --with-md5-passwords --with -ssl-dir = / opt / usr / openssl --prefix = / opt / usr / openssh

...

...

...

Хост: x86_64-pc-linux-gnu Компилятор: ppc_6xx-gcc Флаги компилятора: -g -O2 -pipe -Wall -Wpointer-arith -Wuninitialized -Wsign-compare -Wformat-security -Wno-pointer-sign -fno-strict- aliasing -D_FORTIFY_SOURCE = 2 -ftrapv -fno-builtin-memset -fstack-protector-all -std = gnu99 -fPIE Флаги препроцессора: -I / opt / usr / include -D_XOPEN_SOURCE = 600 -D_BSD_SOURCE -D_DEFAULT_SOURCE флаги / Linker_S opt / ust / openssl / lib -Wl, -z, retpolineplt -Wl, -z, relro -Wl, -z, now -Wl, -z, noexecstack -fstack-protector-all -pie Библиотеки: -lresolv -lcrypto - lrt -ldl -lutil -lz -lcrypt

bash-3.2 $

bash-3.2 $ сделать

person Rakesh Jagota    schedule 12.04.2020