opensslconf.h no encontrado

14

Estoy tratando de construir el analizador de znort987 y he ejecutado sudo apt-get libssl-dev. Puedo ver todo tipo de archivos de encabezado relacionados con SSL en / usr / include / openssl pero opensslconf.h falta en la carpeta openssl y el comando make genera el error:

 make: *** No rule to make target `/usr/include/openssl/opensslconf.h', needed by `.objs/rmd160.o'.  Stop.

Estoy usando Ubuntu 14.04 en una computadora portátil AMD de 32 bits.

Actualización: ejecuté lo siguiente para limpiar mi instalación:

sudo apt-get remove libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl

sudo apt-get install libssl-dev build-essential g++-4.4 libboost-all-dev libsparsehash-dev git-core perl
git clone git://github.com/znort987/blockparser.git
cd blockparser
make

Ahora obtengo:

  /usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory
Keir Finlow-Bates
fuente

Respuestas:

5

Si está compilando en un sistema de 64 y apunta a 32 bits, el siguiente comando solucionó este problema para mí:

sudo apt-get install libssl-dev:i386
Andy Southwell
fuente
Y primero debe activar esta arquitectura consudo dpkg --add-architecture i386
Sandburg, el
4

Esto parece haber sucedido hace mucho tiempo (específicamente, 2013-05-20 16:56:06 UTC). Me encontré con un problema extraño que se parecía mucho al OP, pero resultó ser un problema con la falla de Swig al adjuntar el conjunto correcto de inclusiones al compilar. Terminé buscando en la fuente solo para asegurarme de que no era un problema del paquete ubuntu, pero no parecía ser un problema con ubuntu.

Mirando más detenidamente esto, el paquete openssl cambió opensslconf.h a una estructura de directorio compatible con múltiples canales. Aquí está el commit detallado: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/revision/11.1.42 y si quieres ver cómo se me ocurrió esa revisión, yo siguió las revisiones anotadas de las reglas de Debian, que fue una forma sorprendentemente eficiente de averiguar qué sucedió: http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/utopic/openssl/utopic-updates/annotate/head:/ debian / rules .

Y el confirmador, Kurt Roeckx, escribe en el Registro de cambios:

  • Vaya a / usr / include / $ (DEB_HOST_MULTIARCH) y marque libssl-dev Multi-Arch: lo mismo.

Para ser justos, desearía que el opensslconf.h, al menos, estuviera enlazado a la carpeta / usr / include / openssl con el resto de los encabezados relacionados lógicamente. Pero eso no es un error, esa es solo mi opinión. Para las personas que se encuentran con este problema como lo hice yo, solo se necesita un poco de olfateo para evitar que las cosas sigan funcionando.

Y para el OP , es mucho más tarde ahora, pero acabo de dar un vistazo a su conjunto exacto de pasos en una caja 14.04 LTS x64 y no me encontré con el problema que estaba teniendo. Quizás el problema simplemente se resolvió con el tiempo. Espero que algo de esto ayude.

Pavan Gupta
fuente
1
Creo que estoy teniendo el mismo problema que tú ahora. ¿Cómo lo resolviste?
Surya Wijaya Madjid
3

han ejecutado sudo apt-get libssl-dev. Puedo ver todo tipo de archivos de encabezado relacionados con SSL en / usr / include / openssl pero opensslconf.h no se encuentra en la carpeta openssl y el comando make genera el error ...

Parece que el paquete está defectuoso.

<openssl/opensslconf.h>es creado por el Configurecomando de OpenSSL . Debe incluirse con los archivos de distribución. La primera mención que pude encontrar fue el CHANGELOG de OpenSSL en la versión 0.9.2 .

Presente un informe de error en https://bugs.launchpad.net/ubuntu/+filebug/?no-redirect .

Jeffrey Walton
fuente
1

Parece que es un problema con los sistemas de 32 contra 64 bits. Lo borré todo, descargué y construí Openssl yo mismo, y seguí las instrucciones para construir el analizador. Durante la fase lnk omitió el "libcrypto incompatible" y luego falló.

Por lo tanto, supongo que las bibliotecas necesarias solo están disponibles para sistemas de 64 bits y se omiten durante la instalación de libssl-dev en sistemas de 32 bits. Un mensaje de error más claro sería bueno.

Keir Finlow-Bates
fuente
Estoy tratando de compilar un programa de 32 bits en una máquina de 64 bits y obtengo el mismo opensslconf.herror no encontrado. instalado libssl-dev(¿hay una versión de 32 bits de eso?) y todo, excepto mi programa, no se compila debido a la falta del archivo. ¿Algunas ideas?
Roberto Andrade
0

Me encontré con este problema al compilar una configuración diseñada para un dispositivo LTS 14 incorporado en la PC LTS 16. Así es como lo resolví:

 cd /usr/include/openssl/

 sudo ln -s /usr/include/gnutls/openssl.h .

 sudo ln -s ../x86_64-linux-gnu/openssl/opensslconf.h .
Jitendra Kulkarni
fuente