On Mon, Dec 19, 2005 at 06:34:38PM -0500, Tom Lane wrote:
> Albert Chin <pgsql-hackers@mlists.thewrittenword.com> writes:
> > On Mon, Dec 19, 2005 at 05:59:12PM -0500, Tom Lane wrote:
> >> Perhaps a more relevant question is why ecpg/preproc is including
> >> that header.
>
> > #include <netdb.h> with -D_REENTRANT includes it.
> > preproc.c:
> > #include "postgres_fe.h"
> > #include "c.h"
> > #include "port.h"
> > #include <netdb.h>
>
> Well, port.h is certainly doing a fine job of polluting the namespace.
> Maybe we should pull out the stuff that depends on netdb.h and pwd.h
> into some other header that isn't going to get included so widely.
>
> > ADD has the same problem.
>
> There's no way that we are going to be able to dodge every single symbol
> that any random system header on any random platform might define ---
> especially when you get into the less-well-standardized headers like
> these. We have to think smaller in terms of what headers we include
> everywhere.
Well, we've built on most versions of Solaris, HP-UX, AIX, Tru64 UNIX,
Redhat Linux, and IRIX and this is the only symbol conflict we ran
into. So, it's not a big problem.
--
albert chin (china@thewrittenword.com)