Build problems - unistd.h

Scott Peterson
Thu May 31 11:49:00 GMT 2007

Sorry about the large email: didn't realize how big it was when I cut
and pasted.
Line 108 is indeed:

int     _EXFUN(pipe, (int __fildes[2] ));

I've greped around for "define pipe" and the only results I could find
are /usr/include/glib-1.2/glib.h and
/usr/include/glib-2.0/glib/gwin32.h. Both files define precisely the
method you mention:

#define pipe(phandles)	_pipe (phandles, 4096, _O_BINARY)

Here's the kicker: I commented out both instances of that #define and
the build still fails with the same error. Is there anyway I can find
out precisely where the preprocessor is getting that method? C really
isn't my thing so when I have problems like this with prerequisite
packages, I'm really at a loss. Thanks everyone for lending me a hand
with this!

> Greg Chicares wrote:
> On 2007-05-30 00:12Z, Scott Peterson wrote:
> Here's the content of the intermediate file dbus-binding-tool-glib.i:
> [major snip]
>  On 2007-05-29 02:07Z, you had written:
> In file included from /usr/include/unistd.h:4,
>                 from dbus-binding-tool-glib.c:39:
> /usr/include/sys/unistd.h:108: error: parse error before numeric constant
> Look at line 108 of that file. In my copy, it's a prototype
> for _pipe() . Now look for _pipe() in the preprocessed output:
> int __attribute__((__cdecl__)) _pipe (int __fildes[2], 4096, _O_BINARY);
> Maybe that's the "parse error before numeric constant"?
>  What does line 108 in your /usr/include/sys/unistd.h say,
> exactly? Assuming it's not corrupted, the real question is
> how it got turned into the preprocessed line above.
> hazard a guess, I suspect some .h has '#define pipe(a) _pipe(a,  4096, _O_BINARY)'.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list