On Mar 22 22:38, Dr. Stephen Henson wrote:
> OpenSSL version 0.9.7f released

Unfortunately I can't build this version for Cygwin:

gcc -shared -Wl,--image-base,0xFE00000 -o cygcrypto-0.9.7.dll \
-Wl,-Bsymbolic -Wl,--whole-archive libcrypto.a \
-Wl,--out-implib,libcrypto.dll.a -Wl,--no-whole-archive -L.
libcrypto.a(rand_unix.o)(.text+0x0):rand_unix.c: \
multiple definition of `_RAND_poll'
libcrypto.a(rand_win.o)(.text+0x0):rand_win.c: first defined here

The reason is that somebody added Cygwin between 0.9.7e and 0.9.7f to
the list of sytems which should build crypto/rand/rand_win.c.

That's not correct. Cygwin is a Unix systems on top of Windows and it
provides its own /dev/random and /dev/urandom for a long time already,
so it should be using crypto/rand/rand_unix.c. /dev/random and /dev/urandom
on Cygwin are using the underlying Windows Crypto provider to generate
random numbers.

So, please apply the following patch. I did that in the version of
OpenSSL 0.9.7f released as part of the Cygwin net distribution.


--- crypto/rand/rand_win.c.ORIG 2005-03-23 11:09:10.493307500 +0100
+++ crypto/rand/rand_win.c 2005-03-23 11:09:16.353643500 +0100
@@ -113,7 +113,7 @@
#include "rand_lcl.h"

-#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN32_CYGWIN)
+#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32)
#ifndef _WIN32_WINNT
# define _WIN32_WINNT 0x0400

Corinna Vinschen
Cygwin Project Co-Leader
Red Hat, Inc.
__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org