On 07/25/2011 10:52 AM, Tom Lane wrote:
Andrew Dunstan<and...@dunslane.net>  writes:
On 07/25/2011 10:36 AM, Tom Lane wrote:
Andrew Dunstan<and...@dunslane.net>   writes:
[python headers set _POSIX_C_SOURCE and _XOPEN_SOURCE]
BTW ... so far as I can find, there is no attempt anywhere in the
Postgres sources to set either of these macros.  And my understanding of
their purpose is that *system* headers should not be setting them at
all, rather the application sets them to indicate which POSIX feature
level it would like.  So perhaps the real question here is where the
heck are your conflicting values coming from ...
_POSIX_C_SOURCE at least is defined in features.h, which is included by
huge numbers of system headers, many of which are included by c.h.
What is features.h, and have its authors read the POSIX standard?
AFAICS they have no business defining this symbol.

                        

   [andrew@emma ~]$ rpm -q -f /usr/include/features.h
   glibc-headers-2.13-1.x86_64


   [andrew@emma ~]$ cat foo.c
   #include <stdio.h>
   #include <Python.h>

   main() {}

   [andrew@emma ~]$ gcc -I/usr/include/python2.7/ -c foo.c
   In file included from /usr/include/python2.7/pyconfig.h:6:0,
                     from /usr/include/python2.7/Python.h:8,
                     from foo.c:2:
   /usr/include/python2.7/pyconfig-64.h:1158:0: warning:
   "_POSIX_C_SOURCE" redefined
   /usr/include/features.h:214:0: note: this is the location of the
   previous definition



See now?

cheers

andrew

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to