slapd@hannebauer.name wrote:
Full_Name: Christoph Hannebauer Version: 2.4.16 OS: Windows/cygwin URL: http://www.hannebauer.name/openldap-openssl/configure.in.patch Submission from: (NULL) (139.18.40.169)
I tried to use OpenSSL 0.9.8k for TLS in my cygwin (target MinGW) OpenLDAP build. The configure script does not detect OpenSSL (however, it doesn't break, instead it finishes without TLS support), because the static library cannot be linked. The config.log file contains error messages like
/usr/local/mingw/lib/libcrypto.a(rand_win.o):rand_win.c:(.text+0xa0c): undefined reference to `_CreateDCA@16'
The missing functions are part of the library gdi32.lib. The OpenSSL readme file INSTALL.W32 says, that Windows program using OpenSSL should link gdi32.lib (and user32.lib, ..., but on my machine, gdi32.lib seems to be sufficient). Therefore I have created the attached patch file to configure.in (1.697), which adds gdi32.lib to LIBS, if it is required for OpenSSL. I have tested the patched configure file on my machine, the build works without problems.
You should simply add -lgdi32 to LIBS when running configure then, as documented in the INSTALL file. We add some platform-specific flags but we don't add site-specific flags to configure itself, and your problem depends on whether OpenSSL is using static or shared libraries on your installation. I.e., this issue is not generic to the Win32 platform.