[sr #107827] Build GnuTLS 3.0.2 for windows!

Vincent Torri vincent.torri at gmail.com
Tue Oct 4 14:23:18 CEST 2011


2011/10/4 Bjørn Christensen <bhc at insight.dk>

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

use MSDN:

http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141%28v=vs.85%29.aspx

select() is declared when winsock2.h is included.

header : winsock2.h
lib : libws2_32

I don't understand why there are problems. I use select() for a project I'm
working on without any issue. I just include winsock2.h on Windows:

#ifdef _WIN32
# include <winsock2.h>
#endif

and that's all (or add a check in configure.ac and guard it with
HAVE_WINSOCK2_H)


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

this file does not exist on Windows.

Vincent Torri


>
>
> 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);
>
> #else
>
> That is not a nice solution but it works.
>
> Better suggestions are appreciated
>
>
> /bhc
>
>
> PS: --disable-cxx worked.
>
> Thanks!
>
>
>
> -----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:
>
>  <http://savannah.gnu.org/support/?107827>
>
> _______________________________________________
>  Message sent via/by Savannah
>  http://savannah.gnu.org/
>
> _______________________________________________
> Gnutls-devel mailing list
> Gnutls-devel at gnu.org
> https://lists.gnu.org/mailman/listinfo/gnutls-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20111004/0a80c424/attachment.htm>


More information about the Gnutls-devel mailing list