Cygwin is changing its headers as of the next release so that
sys/types.h includes sys/select.h. This is incompatible with Gnulib's
sys_select module. If a Gnulib module includes sys/types.h, this brings
in Gnulib's sys/select.h, which includes signal.h and other system
headers. Since the inclusion of sys/types.h hasn't finished yet, this
results in many errors.
For example, here's what happens when I try to build emacs with the new
Cygwin headers in place:
In file included from /usr/include/sys/signal.h:112:0,
from /usr/include/signal.h:6,
from ./signal.h:52,
from ./sys/select.h:108,
from /usr/include/sys/time.h:47,
from ./sys/time.h:39,
from ./sys/select.h:87,
from /usr/include/sys/types.h:88,
from ./sys/types.h:28,
from ../../master/lib/acl.h:24,
from ../../master/lib/acl-errno-valid.c:22:
/usr/include/cygwin/signal.h:178:3: error: unknown type name
‘pthread_attr_t’
[...]
In file included from ./sys/time.h:39:0,
from ./sys/select.h:87,
from /usr/include/sys/types.h:88,
from ./sys/types.h:28,
from ../../master/lib/acl.h:24,
from ../../master/lib/acl-errno-valid.c:22:
/usr/include/sys/time.h:104:34: error: unknown type name ‘u_int’
bintime_mul(struct bintime *_bt, u_int _x)
[...]
Can sys_select be changed so that it doesn't try to include other
headers before it has finished including sys/types.h? Or is there some
other way to solve this problem?
Thanks.
Ken