cannot build cygwin-2.0.2 because of (or because of some header.h)

Takashi Yano
Fri May 22 11:07:00 GMT 2015

On Thu, 21 May 2015 20:15:09 +0900
Takashi Yano <> wrote:

> On Mon, 11 May 2015 17:52:04 +0200
> Denis Excoffier wrote:
> > In order to successfully build cygwin-2.0.2-1 (for x86, both XP and W7) i had to apply
> > the following patch (below). No such problem with cygwin-2.0.1-1.
> In my case, the same problem is caused by upgrading
> w32api-headers to 4.0.2-1. It does not result from
> difference between cygwin-2.0.2-1 and cygwin-2.0.1-1.

I have looked into this problem. The cause is as follows.

netioapi.h in w32api-headers 3.3.0-2 was using a macro-name
_INC_NETIOAPI for include-guard. By defining _INC_NETIOAPI, avoids including netioapi.h, which conflicts with
if_nametoindex() and if_indextoname() in it.

However, the macro-name for include-guard in netioapi.h of
w32api-headers 4.0.2-1 has been changed to _NETIOAPI_H_.

As a result, fails to avoid including netioapi.h,
which causes confliction.

Thus, defining _NETIOAPI_H_ in resolves the problem.

diff --git a/winsup/cygwin/ b/winsup/cygwin/
index eaf6eb8..d6a631b 100644
--- a/winsup/cygwin/
+++ b/winsup/cygwin/
@@ -19,6 +19,7 @@ details. */
    TODO:  Convert if_nametoindex to cygwin_if_nametoindex and call
 	  system functions on Vista and later. */
 #define _INC_NETIOAPI
+#define _NETIOAPI_H_
 #include "winsup.h"
 #ifdef __x86_64__
 /* 2014-04-24: Current Mingw headers define sockaddr_in6 using u_long (8 byte)

Takashi Yano <>

Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list