Hello, as Alexandre said, we should not include "config.h" in any of the standard Windows header files. Unfortunately, this makes a problem in winsock.h rather difficult to fix. The basic problem is that winsock.h currently tries to use the system's standard types / defines like sockaddr, FD_SETSIZE etc. to define the Windows types. This, on the other hand, means that those system types need to be defined at that point, i.e. that the corresponding system headers need to be included. winsock.h does currently try to do this in a more-or-less portable way, e.g. #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif /* HAVE_SYS_SOCKET_H */ Unfortunately, this of course does not work if config.h is not included beforehand. I'm now wondering how this is supposed to work. Why does winsock.h use the Unix system types anyway? Shouldn't it define the exact Windows types, for binary compatibility? And what about Winelib apps? Should they get Windows types or Unix types, and if the latter, how do we determine which system includes to use without employing configure checks? B.t.w. note that windows.h includes winsock.h, and thus every Winelib app will encounter compile problems with the current version of winsock.h ... Bye, Ulrich -- Dr. Ulrich Weigand [EMAIL PROTECTED]