Apache 2.4.1 неопределенная ссылка на `SSLv2_client_method ' - PullRequest
6 голосов
/ 25 марта 2012

Ранее я работал под управлением apache 2.2.20 и openssl 1.0.0e. Я установил openssl 1.0.1, затем скачал tarball для apache 2.4.1 и установил apr 1.4.6 & apr-util 1.4.1 с --prefix=/usr/local. Я настроил apache2 с помощью:

sudo ./configure --prefix=/usr/local/apache2 --enable-mods-shared=all
--enable-deflate --enable-proxy --enable-proxy-balancer --enable-proxy-http
--enable-rewrite --enable-cache --enable-mem-cache --enable-ssl --enable-headers
--with-mpm=worker --with-included-apr

Но после запуска sudo make я получаю ошибку:

httpd-2.4.1/support/ab.c:2227: undefined reference to `SSLv2_client_method'

Что вызывает эту ошибку и как ее исправить?

Ответы [ 4 ]

6 голосов
/ 25 марта 2012

Возможно, вы собрали openssl с отключенным SSLv2, в некоторых дистрибутивах этот параметр отключен (Debian, начиная с 7.0 -Wheezy-, равен одному).Глядя на источник, похоже, что если вы определите флаг препроцессора OPENSSL_NO_SSL2 , apache не будет вызывать функцию SSLv2_client_method ().

3 голосов
/ 28 апреля 2012

Вы также можете скачать tarss из openssl и скомпилировать openssl с помощью

./config shared no-ssl2

Это установит флаг OPENSSL_NO_SSL2, который упоминал Джон Лин.

2 голосов
/ 18 сентября 2013

Это не имеет ничего общего с компиляцией OpenSSL.PHP является виновником, который вызывает ошибку.

(Примечание: еще одна проблема с OpenSSL, которая может помешать вам создавать общие библиотеки openssl.so и opencrypto.so)

ВотОбзор того, как это произошло.PHP компилирует свою компиляцию, и когда дается "make install", он копирует libphp * .so в / usr / local / apache2 / modules.

Исходный код этой ошибки - openssl.c в / usr / local / php-5.5.3 / ext / openssl

Таким образом, простое решение заключается в обработкеэто на верхнем уровне Makefile.Добавив CPPFLAGS = -D_REENTRANT -DTHREAD = 1 -DOPENSSL_NO_SSL2

Внесите указанное выше изменение ПОСЛЕ , запустив скрипт настройки.Надеюсь, это поможет:)

1 голос
/ 11 июня 2015

Попробуйте с другой версией Apache. В Apache 2.2.15 ошибка присутствовала, но при переходе на Apache 2.2.27 ошибка " ссылка на` SSLv2_client_method"просто исчезла

Строка компиляции:

./configure --with-ssl --enable-ssl

Вот и все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...