Tom Lane wrote:
Joe Conway <[EMAIL PROTECTED]> writes:

In addition to the ecpg warnings mentioned by Tom, I'm also seeing compile warnings wrt plpython:


make[3]: Entering directory `/opt/src/pgsql-cvs/pgsql-7.5/src/pl/plpython'
gcc -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -Wmissing-declarations -fpic -I. -I/usr/include/python2.3 -I../../../src/include -D_GNU_SOURCE -I/usr/include/et -c -o plpython.o plpython.c -MMD
In file included from /usr/include/python2.3/Python.h:8,
from plpython.c:58:
/usr/include/python2.3/pyconfig.h:847:1: warning: "_POSIX_C_SOURCE" redefined
In file included from /usr/include/stdio.h:28,
from ../../../src/include/c.h:60,
from ../../../src/include/postgres.h:48,
from plpython.c:37:
/usr/include/features.h:131:1: warning: this is the location of the previous definition
ar crs libplpython.a plpython.o


I think this must be breakage in your local python installation, not in
Postgres.  Note the complaint is that /usr/include/python2.3/pyconfig.h
disagrees with /usr/include/features.h ... it's not hard to decide who's
at fault there.  PG could be an accessory to the crime, but AFAICS we've
not mucked with include order or predefined symbols for plpython.c
lately; so if we broke it, it was awhile ago.

This is surely not a "must fix tomorrow" issue, but please look into it
when you get back from your road trip.

In /usr/include/python2.3/pyconfig.h:

  /* Define to activate features from IEEE Stds 1003.1-2001 */
  #define _POSIX_C_SOURCE 200112L

And in /usr/include/features.h:

  * If _GNU_SOURCE was defined by the user, turn on all the other
  * features.
  #ifdef _GNU_SOURCE
  [...]
  # define _POSIX_C_SOURCE        199506L

I find that simply putting
#include <Python.h>
prior to
#include "postgres.h"
in plpython.c eliminates the warnings, and compiles fine, but it isn't clear to me that it is safe. Thoughts?


Joe

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to