problem building 0.15.7

Dave Lovelace dave at firstcomp.biz
Mon Dec 8 21:45:49 CET 2003


A followup, after a bit more investigation:
I tried running globals.c, with all the same command-line stuff (well, the
appropriate parts) but doing gcc -E to just look at the preprocessor output.
That section that I posted in the previous message, that read:
> ----snip----snip----snip----snip----snip----snip----snip----snip----snip----
> 88:
> 89:typedef enum ex_e { EX_SPAM	= RC_SPAM,
> 90:		    EX_HAM	= RC_HAM,
> 91:		    EX_UNSURE	= RC_UNSURE,
> 92:		    EX_OK	= 0,
> 93:		    EX_ERROR	= 3 } ex_t;
> ----snip----snip----snip----snip----snip----snip----snip----snip----snip----

comes out of the preprocessor as:
----snip----snip----snip----snip----snip----snip----snip----snip----snip----
typedef enum ex_e { EX_SPAM     = RC_SPAM,
                    EX_HAM      = RC_HAM,
                    EX_UNSURE   = RC_UNSURE,
                    020         = 0,
                    EX_ERROR    = 3 } ex_t;
----snip----snip----snip----snip----snip----snip----snip----snip----snip----

So it looks as though EX_OK is defined somewhere as 020 (or 16 decimal),
and that this is getting in the way.  Searching through all the standard
header files, I find it in /usr/include/sys/_int_unistd.h:
#define EX_OK 020
I presume this is ultimately included from /usr/include/unistd.h or something
like that, but don't know.  The relevant line is buried inside all kinds
of dependencies, or appears at a glance to be.

Again, any help is most appreciated.  I suppose I can just grep for it
in all the source files & change EX_OK everywhere to something else.
I really hate to have to use a hack like that.

-- 
- Dave Lovelace
  dave at firstcomp.biz
  davel at cyberspace.org




More information about the Bogofilter mailing list