embed_api2 build issue: stdin, stdout, stderr

Andy Dougherty doughera at lafayette.edu
Mon Dec 6 18:47:18 UTC 2010

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.

    Andy Dougherty		doughera at lafayette.edu

More information about the parrot-dev mailing list