February 15, 2012
I reduced the unix.x3 problem, with this patch everything
works:
https://gist.github.com/1837991

The error message for the first chunk is:
------------------
x3: checking for type 'pthread_spinlock_t'
/tmp/cc7iyhzu.c:16:1: error: unknown type name 'pthread_spinlock_t'
x3: enums ^PTHREAD_CANCEL_.*
x3: x3: failed to resolve macro values.
failed to resolve macro values.
------------------

2nd chunk:
------------------
/tmp/ccQFfO5r.c:21:20: error: 'struct passwd' has no member named 'pw_gecos' x3: x3: cannot resolve type of struct passwd.pw_gecos cannot resolve type of struct passwd.pw_gecos

------------------

3rd:
------------------
x3: checking for struct termios.c_ospeed
/tmp/ccU54EYm.c:20:39: error: 'struct termios' has no member named
'c_ospeed' /tmp/ccd2Zq6m.c:25:16: error: invalid type argument of unary
'*' (have 'int') /tmp/ccjx872Z.c:30:16: error: invalid type argument of
unary '*' (have 'int') /tmp/cc4pPSNa.c:22:46: error: 'struct termios'
has no member named 'st_blksize' /tmp/cc4pPSNa.c:25:44: error: 'struct
termios' has no member named 'st_blksize' /tmp/cc4pPSNa.c:25:72: error:
'struct termios' has no member named 'st_blksize' x3: x3: assert
failed: ../libdruntime/config/x3.c:1144: type->kind == X3_TYPE_KIND_INT

------------------

How should this be fixed? Is there some way to tell x3 to make those members optional, then add workarounds to phobos/druntime?