[sr #107827] Build GnuTLS 3.0.2 for windows!

Bjørn Christensen bhc at insight.dk
Tue Oct 4 09:56:08 CEST 2011

<sys/select.h> is not available under windows, it tried with <winsock2.h> where select in define for windows but it did not help. 

If I add <sys/select.h> I get file not found.

I can see that the old gcrypt.h had a forward declarations for select, but now where we have moved to nettle gcrypt.h is not included any more.

I am sure that the declaration of select is in the winsock2.h

The declaration of select is cover by a:
#if ! (defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__)) 

Which is not is not the case. I do not know what that means. 

I can solve the problem by in the #ifdef _WIN32 section of system.c  include the winsock2.h and add a forward declaration for select. (stolen from gcrypt.h)

#ifdef _WIN32
#include <windows.h>

#include <winsock2.h>
ssize_t (*select) (int nfd, void *rset, void *wset, void *eset, struct timeval *timeout);


That is not a nice solution but it works.

Better suggestions are appreciated


PS: --disable-cxx worked.


-----Original Message-----
From: Nikos Mavrogiannopoulos [mailto:INVALID.NOREPLY at gnu.org] 
Sent: 3. oktober 2011 23:19
To: Nikos Mavrogiannopoulos; Bjørn Christensen; gnutls-devel at gnu.org
Subject: [sr #107827] Build GnuTLS 3.0.2 for windows!

Follow-up Comment #12, sr #107827 (project gnutls):

You can use ./configure --disable-cxx
to disable the C++ library.

About the select issue, if you add an include <sys/select.h> does it work?


Reply to this item at:


  Message sent via/by Savannah

More information about the Gnutls-devel mailing list