cannot build cygwin-2.0.2 because of net.cc (or because of some header.h)
Takashi Yano
takashi.yano@nifty.ne.jp
Fri May 22 11:07:00 GMT 2015
On Thu, 21 May 2015 20:15:09 +0900
Takashi Yano <takashi.yano@nifty.ne.jp> 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,
net.cc 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, net.cc fails to avoid including netioapi.h,
which causes confliction.
Thus, defining _NETIOAPI_H_ in net.cc resolves the problem.
diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc
index eaf6eb8..d6a631b 100644
--- a/winsup/cygwin/net.cc
+++ b/winsup/cygwin/net.cc
@@ -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 <takashi.yano@nifty.ne.jp>
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list