error fatal: no se encontrĂ³ el archivo ''openssl/bio.h''
thrift libevent (5)
Estoy tratando de instalar Apache Thrift en mi Mac, pero tengo un problema. Seguí los pasos de instalación en esta página , pero cuando trato de hacer los pasos para instalar libevent
, libevent
el siguiente error al ejecutar el comando make
:
error fatal debido al archivo ''openssl / bio.h'' no encontrado
Captura de pantalla del error real
He comprobado la versión de openSSL que estoy usando, y es "0.9.8zg"
¿Algún consejo sobre qué debo hacer para solucionar esto?
¿Estás en El Capitán? Ese parecía ser mi problema.
La respuesta de Jeremy sobre este tema de Puma funcionó para mí:
https://github.com/puma/puma/issues/718
Mi problema estaba relacionado específicamente con la gema Puma, pero su problema podría ser similar si se encuentra en El Capitán.
Estoy en El Capitan 10.11.6 y tuve el problema al instalar manualmente la extensión php de mongodb.
Lo resolví siguiendo las indicaciones de @ user7059092 sobre la etapa de configuración:
$./configure LDFLAGS=''-L/usr/local/opt/openssl/lib'' CPPFLAGS=''-I/usr/local/opt/openssl/include''
También me encontré con este problema al instalar Apache Thrift y aquí es cómo lo resolví para la configuración de mi sistema.
Mi sistema operativo es El Capitan (10.11.1) con todas las actualizaciones más recientes instaladas y usé MacPorts para instalar openssl (versión 1.0.2e 3 de diciembre de 2015). Este openssl instalado en /opt/local
. En cualquier caso, intente encontrar bio.h
(para mi caso estaba ubicado en /opt/local/include/openssl/bio.h
) y probablemente pueda decir dónde está instalado openssl para su configuración. Cuando esté en la carpeta libevent
y ejecute:
./configure --help
verá que
--includedir=DIR C header files [PREFIX/include]
Como PREFIX
es /usr/local
según las instrucciones, solo tuve que crear un enlace simbólico en /usr/local/include
.
cd /usr/local/include
sudo ln -s /opt/local/include/openssl/ openssl
Ahora make
ejecuciones sin errores.
Tengo el mismo problema al instalar Thrift como otros. En mi caso resuelvo siguiendo la siguiente Jira:
https://jira.mongodb.org/browse/CDRIVER-941
Otro enfoque es, después de "brew install openssl", hacer "brew link openssl --force", que instala los encabezados en / usr / local / include / openssl.
$ brew install openssl
$ brew link openssl --force
Por alguna razón, el propio pkg-config de Homebrew sabe que OpenSSL se elabora en casa solo una vez que ejecutas " link openssl --force ":
$ pkg-config --variable=includedir openssl
/usr/local/Cellar/openssl/1.0.2d_1/include
para instalar libevent en Mac: http://macappstore.org/libevent/
para llevar para este sitio:
- ruby -e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )" </ dev / null 2> / dev / null
- brew install libevent
para el error openssl:
El método más limpio debería ser decirle al compilador que use openssl de MacOS configurando las variables de entorno correspondientes.
Puedes hacerlo durante la etapa de configuración:
./configure CXXFLAGS = ''- I / usr / local / bin -L usr / local / include''