Kumaran Moodley via RT | 1 Dec 2010 15:03
Picon
Favicon

RE: [openssl.org #2371] Openssl mingw build error.

Thanks Andy.

I have updated to  openssl-1.0.0b and also had a problem building the code however there is a patch available
to fix the mingw compilation issue. I tried this patch and I have had no issues. Thanks for the help.  

On another note I found a bug on the openssl EVP_PKEY_verify(3) documentation
(http://www.openssl.org/docs/crypto/EVP_PKEY_verify.html). In the synopsis the API is defined as 

int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
                        const unsigned char *sig, size_t siglen,
                        const unsigned char *tbs, size_t tbslen);

However in the example section, 

/* Perform operation */
 ret = EVP_PKEY_verify(ctx, md, mdlen, sig, siglen);

Which shows that the message digest variables and the signature variables have been swapped around. I had
some signature failures due to that however everything is fine now when I put them correctly. The
documentation should be updated though. Thanks.  

Kind regards
Kumaran M

-----Original Message-----
From: Andy Polyakov via RT [mailto:rt <at> openssl.org] 
Sent: 19 November 2010 12:57 AM
To: Kumaran Moodley
Cc: openssl-dev <at> openssl.org
Subject: Re: [openssl.org #2371] Openssl mingw build error.

> While building the openssl-1.0.0b for windows (using the mingw
> compiler) I get the following build error :
> 
> making all in crypto/dso...
> make[2]: Entering directory `/cygdrive/f/openssl-1.0.0a/crypto/dso'
> gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -DOPENSSL_THREADS 
> -D_MT -DD
> SO_WIN32 -mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN 
> -fomit-frame-pointer -O3 -
> march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 
> -DOPENSSL_BN_AS M_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DW
> HIRLPOOL_ASM   -c -o dso_win32.o dso_win32.c
> dso_win32.c: In function `win32_load':
> dso_win32.c:173: error: `HINSTANCE' undeclared (first use in this 
> function)
> dso_win32.c:173: error: (Each undeclared identifier is reported only 
> once
> dso_win32.c:173: error: for each function it appears in.)
> dso_win32.c:173: error: parse error before "h"

The compilation relies on _WIN32 macro being pre-defined by compiler.
This applies to *all* compilers targeting Windows, including mingw. So the key question is why doesn't
your compiler define it? Examine 'gcc -dumpspecs' output and see if _WIN32 is defined for -mno-cygwin. If
it doesn't, then I'd say it's a bug... A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev <at> openssl.org
Automated List Manager                           majordomo <at> openssl.org


Gmane