Kovács Péter writes:
> gmake[3]: Entering directory `/tmp/postgresql-7.1.2/src/backend/access'
> gmake -C common SUBSYS.o
> gmake[4]: Entering directory
> `/tmp/postgresql-7.1.2/src/backend/access/common'
> gcc -Wall -Wmissing-prototypes -Wmissing-declarations
> -I../../../../src/include -c heaptuple
> .c -o heaptuple.o
> In file included from ../../../../src/include/access/tupdesc.h:18,
> from ../../../../src/include/utils/rel.h:18,
> from ../../../../src/include/storage/bufmgr.h:21,
> from ../../../../src/include/storage/bufpage.h:18,
> from ../../../../src/include/access/htup.h:17,
> from ../../../../src/include/access/heapam.h:18,
> from heaptuple.c:23:
> ../../../../src/include/catalog/pg_attribute.h:43: syntax error before `{'
> ../../../../src/include/catalog/pg_attribute.h:156: parse error before `}'
> ../../../../src/include/catalog/pg_attribute.h:156: warning: type defaults
> to `int' in declaration of `FormData_pg_attribute'
There's some macro trickery going on there, so it's hard to tell what it's
really seeing. Try this:
$ cd src/backend/access/common
$ make heaptuple.o CFLAGS=-save-temps
Then look at the resulting (I hope) heaptuple.i and look at what's
really happening at line 42 (search for pg_attribute should find it). It
should look similar to this:
# 42 "../../../../src/include/catalog/pg_attribute.h" 1
typedef struct FormData_pg_attribute
{
Oid attrelid;
NameData attname;
# 55 "../../../../src/include/catalog/pg_attribute.h"
Oid atttypid;
There's the "{" it's talking about.
--
Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter