Estoy tratando de recompilar PHP, pero ./configure falla en:
configure: error: Cannot find OpenSSL's <evp.h>
Tengo instalado LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL.
--with-openssl=/usr/include/openssl
cuando lo intento con
--with-openssl
me dice:
configure: error: no se pueden encontrar las bibliotecas de OpenSSL
¿Dónde están el problema?
PS Php es 5.2.5, OS es Ubuntu
libcurl4-openssl-dev
diferente delibssl-dev
?Para compilar php-5.3 en Debian wheezy necesita lo siguiente para corregir este error.
Luego debe configurar con lo siguiente incluido
fuente
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. He escrito un PHP para compilar con extensiones.Suponiendo que ya tiene las bibliotecas OpenSSL y los archivos de encabezado (en sistemas rpm, estos últimos están en el paquete xxxx-devel) ...
El problema parece surgir de cómo
configure
resuelve las dependencias que se distribuyen alrededor del sistema de archivos. Para compilar el código, el comiler necesita saber dónde están los encabezados. Para vincular el código, el vinculador necesita saber dónde están las bibliotecas.El directorio de inclusión tiene el archivo de inclusión, pero pkg-config falla porque la biblioteca no está en / usr / include / openssl, está en / usr / lib
Ejecutando configure nuevamente con / usr como el directorio:
Se busca la ruta pasada como argumento para encontrar los recursos relevantes.
fuente
php-7.1.12
enDebian Jessie
. GraciasOtra razón
./configure
podría fallar es porque no tienepkg-config
instalado, como en mi caso con PHP7 y Debian Jessie:fuente
Para compilar php-5.4.45 en Debian 8.1 (Jessie) tuve que:
Después de eso podría compilarlo simplemente usando
--with-openssl
fuente
Solucioné el problema instalando bibliotecas adicionales
fuente
En centos7 Instalar openssl-devel
yum install openssl-devel
fuente
Debe ayudar a configurar la búsqueda de dónde buscar el archivo evp.h, porque de forma predeterminada buscará directorios y agregará sufijos codificados para encontrarlo. He guardado los detalles en mi página wiki para aquellos que quieran entender la solución. Esto es lo que funcionó para mí:
YMMV (las rutas son diferentes). Si eso no funcionó para ti, revisa la página wiki , te ayudará a descubrir qué caminos poner.
fuente
Tuve el mismo problema en Fedora 19 a pesar de tener instalado OpenSSL.
Tuve que instalar openssl-devel.i686 que encontré al hacer una búsqueda genérica de todos los paquetes relacionados con ssl:
Luego ejecuté configure nuevamente con éxito:
fuente
Solo mi comentario: después de resolver este problema de SSL de esta publicación, me he dado por vencido en compilar php 5.3 porque falló aún más en las extensiones zend dom en el medio, encontré algunos parches y decidí dejar este alboroto . Hay ubuntu 12.04 que todavía tiene 5.3.10 php a bordo. Tenga cuidado php-fpm en ese entonces borrando las variables de entorno. Por lo tanto, no se sorprenda cuando no pueda pasar variables globales de Docker, por ejemplo.
fuente