He estado instalando OpenCA versión 1.5.1 en una máquina CentOS 7. De acuerdo con la documentación, necesito instalar el paquete de herramientas de OpenCA antes de instalar el paquete base de OpenCA. Sin embargo, aparece "error fatal openssl err.h:no existe tal archivo o directorio ” mientras compila el paquete de herramientas de OpenCA como se muestra a continuación.
[root@ra openca-tools-1.3.1]# make Making all in src/sv make[1]: Entering directory `/root/downloads/openca-tools-1.3.1/src/sv' gcc -DHAVE_CONFIG_H -I. -I../../include/openca -I../../include -g -O2 -fstack-check -maccumulate-outgoing-args -MT apps.o -MD -MP -MF .deps/apps.Tpo -c -o apps.o apps.c apps.c:119:25: fatal error: openssl/err.h: No such file or directory #include <openssl/err.h> ^ compilation terminated. make[1]: *** [apps.o] Error 1
¿Cómo solucionar este error?
Solución:Solucione el error fatal openssl err.h
Es posible que sepa que OpenSSL debe instalarse antes de instalar OpenCA. En caso de que no tenga OpenSSL instalado, vaya a este tutorial e instálelo primero .
Volviendo al error 'error fatal:openssl/err.h:no existe tal archivo o directorio ', parece que el script de compilación no puede encontrar uno de los archivos de encabezado de OpenSSL. En nuestro caso, es err.h
archivo.
Para encontrar qué paquete proporciona un archivo en particular o un archivo de encabezado, use el siguiente comando:
En CentOS, use yum whatprovides
como se muestra a continuación:
[root@ra ]# yum whatprovides '*/openssl/err.h' 1:openssl-devel-1.0.2k-8.el7.i686 : Files for development of applications which will use OpenSSL Repo : base Matched from: Filename : /usr/include/openssl/err.h 1:openssl-devel-1.0.2k-8.el7.x86_64 : Files for development of applications : which will use OpenSSL Repo : base Matched from: Filename : /usr/include/openssl/err.h 1:openssl-devel-1.0.2k-8.el7.x86_64 : Files for development of applications : which will use OpenSSL Repo : @base Matched from: Filename : /usr/include/openssl/err.h
'*/openssl/err.h'
con el archivo que le gustaría buscar. Por ejemplo, también puede simplemente buscar un archivo en particular como '*/err.h'
.
En máquinas Ubuntu, use dpkg
comando como se muestra a continuación:
# dpkg -S openssl/err.h libssl-dev:amd64: /usr/include/openssl/err.h
Alternativamente, puede usar apt-file find <filename>
comando también.
# apt-file find openssl/err.h libssl-dev: /usr/include/openssl/err.h libwolfssl-dev: /usr/include/cyassl/openssl/err.h libwolfssl-dev: /usr/include/wolfssl/openssl/err.h
Bueno, el resultado anterior dice que err.h
El archivo se envía con el paquete de desarrollo OpenSSL. Entonces instalando openssl-devel
debería corregir el error.
# yum install openssl-devel
En las variantes de Ubuntu:
# sudo apt-get install libssl-dev
Ahora, el paquete de herramientas de OpenCA debería compilarse sin errores. Espero que ayude a alguien por ahí.