embed_api2 build issue: stdin, stdout, stderr
James E Keenan
jkeen at verizon.net
Mon Dec 6 23:41:37 UTC 2010
Andy Dougherty wrote:
> I tried to take a quick look at the embed_api2 branch. It failed with the
> strange-looking error message:
>
> "./include/parrot/api.h", line 241: syntax error before or at:&
>
> Ultimately, the problem is that it is using 'stdin', 'stderr', and
> 'stdout' as variable names, when<stdio.h> (or some file included by that)
> has already #defined them. On Solaris 10, for example, you get
>
> #define stdin (&__iob[0])
> #define stdout (&__iob[1])
> #define stderr (&__iob[2])
>
> (which explains the odd reference to '&' in the error message).
>
> Simply renaming the variables to something like 'mystdin', etc.,
> should make that problem go away.
>
I was testing the embed_api2 branch on Darwin this weekend and came to
the same conclusion. Last night I sent the attached file to
whiteknight; I guess now it will be good for everyone to see it. It
compares the content of /usr/include/stdin.h on my Linux (Debian) and
Darwin (OS X 10.4) machines.
kid51
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: usr_include_stdin_linux_darwin.txt
URL: <http://lists.parrot.org/pipermail/parrot-dev/attachments/20101206/8c3f6f4e/attachment-0001.txt>
More information about the parrot-dev
mailing list