Apache 2.4.1 undefined reference to `SSLv2_client_method'
J'ai été en cours d'exécution précédemment apache 2.2.20 et openssl 1.0.0 e. J'ai installé openssl 1.0.1, puis téléchargé l'archive pour apache 2.4.1 et installé avr 1.4.6 & apr-util 1.4.1 avec --prefix=/usr/local
. J'ai configuré apache 2:
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
Mais après l'exécution de sudo make
j'obtiens une erreur:
httpd-2.4.1/support/ab.c:2227: undefined reference to `SSLv2_client_method'
Ce qui est à l'origine de cette erreur et comment la corriger?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez avoir openssl avec SSLv2 handicapés, certaines distributions qui handicapées (Debian, à partir de la version 7.0 Wheezy - est). En regardant la source, c'est comme si vous définissez la OPENSSL_NO_SSL2 préprocesseur drapeau, apache ne vais pas l'appeler le SSLv2_client_method() fonction.
#define OPENSSL_NO_SSL2
ou quelque chose dans le haut de l'ab.c fichier.Vous pouvez également télécharger d'openssl est tarbal et compiler openssl avec
./config shared no-ssl2
Ceci permettra de définir le drapeau OPENSSL_NO_SSL2 que Jon Lin mentionné.
Il n'a rien à voir avec OpenSSL compilation. PHP est le coupable qui est à l'origine de l'erreur.
(Note: Le est un autre problème avec OpenSSL, qui pourraient empêcher les u de la production d'openssl.donc, et opencrypto.donc bibliothèques partagées)
Voici l'aperçu de la façon dont c'est arrivé. PHP compile sa compilation et quand "make install" est donnée de copier le libphp*.donc dans /usr/local/apache2/modules.
Le code source de cette erreur est d'openssl.c dans /usr/local/php 5.5.3/ext/openssl
Donc la solution la plus simple est de le gérer dans le haut niveau Makefile. En ajoutant
CPPFLAGS = -D_REENTRANT -DTHREAD=1 -DOPENSSL_NO_SSL2
Faire le changement ci-dessus APRÈS vous exécutez le script de configuration. Espérons que cela aide 🙂
Essayer avec une autre version d'Apache. Avec Apache 2.2.15 l'erreur était présent, mais lorsque je change de Apache 2.2.27 la "référence à la " SSLv2_client_method" erreur tout simplement disparu
La ligne de compilation est:
C'est tout.