makefile openssl mingw msys

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.