makefile - Error al compilar OpenSSL con MinGW/MSYS
(6)
Descargar archivos fuente desde el sitio oficial de OpenSSL . Sigo el archivo INSTALL.M32 en la carpeta OpenSSL. Abro msys.bat, voy a la carpeta OpenSSL, luego escribo
$ ./config
Dice "Configurado para MinGW", que yo escribo
$ make
y después de unos minutos recibir un error:
md2test.c:1:10: error: expected ''='', '','', '';'', ''asm'' or ''__attribute__'' before ''.'' token
Estoy teniendo el mismo problema. Como el problema es al construir las pruebas, simplemente no las hice:
make Makefile openssl.pc libssl.pc libcrypto.pc build_libs build_apps build_tools
Es una solución horrible, pero parece funcionar. Obtiene las bibliotecas y las herramientas, pero no el conjunto de pruebas.
Espero que alguien dé una mejor respuesta y / o corrija el problema con el código si hay alguno.
En mi caso, el problema era que pocos archivos de prueba (3 por lo que recuerdo) tenían en lugar de C ++, codificaban el nombre del archivo (algo así como dummitest.c). Copio y pegué el código correcto a esos archivos desde archivos de otra carpeta, pero con el mismo nombre, y todo salió bien.
Simplemente abrí los archivos que causaban el error (/test/"md5test.c; rc5test.c; jpaketest.c ") y reemplacé la línea
dummytest.c
a
#include "dummytest.c"
Es la misma solución que se indicó anteriormente, excepto que es un poco más rápido ...
¿Qué programa usaste para descomprimir ''openssl-1.0.0x.tar.gz''? 7-zip es un gran programa, pero parece que hay un error.
Use alquitrán u otro descompresor como BreadZip .
tar zvxf openssl-1.0.0x.tar.gz
Es la misma solución que se indicó anteriormente, excepto que es un poco más rápido ... :)
El problema es que md2test.c
es en realidad un enlace simbólico o un enlace simbólico a dummytest.c
.
Si extrajo openssl-1.0.1c.tar.gz
con cualquier otra cosa que no sea
tar xf openssl-1.0.1c.tar.gz
entonces estos enlaces simbólicos no fueron preservados. En Cygwin funciona después de eso; no estoy seguro acerca de MinGW.
El problema es un enlace simbólico en el archivo que parece que MinGW / MSYS no comprende.
Puede --derefence
utilizando la --derefence
( -h
) al extraer.
Por ejemplo tar -xzvfh archive.tar.gz
de http://www.gnu.org/software/tar/manual/html_node/dereference.html :
Cuando se lee desde un archivo, la
--dereference'' (
-h'') hace que tar siga un enlace simbólico ya existente cuando tar escribe o lee un archivo nombrado en el archivo.