Re: 723 failed to compile [FreeBSD-4.7-STABLE] - Mailing list pgsql-ports

From Fernan Aguero
Subject Re: 723 failed to compile [FreeBSD-4.7-STABLE]
Date
Msg-id 20021022132450.GA39326@iib.unsam.edu.ar
Whole thread Raw
In response to Re: 723 failed to compile [FreeBSD-4.7-STABLE]  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: 723 failed to compile [FreeBSD-4.7-STABLE]
List pgsql-ports
Hi Tom,

thanks for your reply. Indeed you hit the point rightly. See
below.

+----[ Esto dijo Tom Lane (tgl@sss.pgh.pa.us):
|
| Fernan Aguero <fernan@iib.unsam.edu.ar> writes:
| > cc -O -pipe  -Wall -Wmissing-prototypes -Wmissing-declarations -I../../../.=
| > ./src/include -I/usr/local/include  -c -o tuptoaster.o tuptoaster.c=0D
| > tuptoaster.c: In function `toast_delete_datum':=0D
| > tuptoaster.c:914: `F_OIDEQ' undeclared (first use in this function)=0D
| > tuptoaster.c:914: (Each undeclared identifier is reported only once=0D
| > tuptoaster.c:914: for each function it appears in.)=0D
| > tuptoaster.c: In function `toast_fetch_datum':=0D
| > tuptoaster.c:997: `F_OIDEQ' undeclared (first use in this function)=0D
| > gmake[5]: *** [tuptoaster.o] Error 1=0D
|
| This symptom usually means that the src/backend/utils/Gen_fmgrtab.sh script
| failed to build a valid fmgroids.h file.  This part of your trace looks
| pretty suspicious:
|
| /usr/local/bin/gmake -C utils fmgroids.h
| gmake[4]: Entering directory `/usr/ports/databases/postgresql7/work/postgresql-7.2.3/src/backend/utils'
| CPP='cc -E' AWK='nawk' /bin/sh Gen_fmgrtab.sh ../../../src/include/catalog/pg_proc.h
| cc -E: not found
| gmake[4]: Leaving directory

The problem is here, no doubt. This was also pointed by
someone at the freebsd-ports@freebsd.org mailing list.

|
| I think there's something wrong with your /bin/sh --- it looks to be
| trying to interpret the -E switch as part of the cc filename.  Anyone
| seen anything like that before?  Setting CPP to 'gcc -E' or 'cc -E' is
| the usual value, so it's not like this is untested ...

I guess that this might be the FreeBSD ports Makefile
messing things up. In FreeBSD all ports are compiled from a
Makefile (call it meta-Makefile) that sets some variables,
drives the inclusion of FBSD specific patches, provides for
a unified localization of non-system base binaries,
libraries, etc. I guess that either the Makefile for the
postgresql7 port (easy) or some of the more general bsd.*.mk
files (that are included in each ports makefile, more
difficult to fix, since this can break thousands of ports) is
conflicting with postgresql's own Makefiles.

Calling make like this worked, and pgsql compiled OK:
env -i PATH=$PATH make
(note that I don't call make within the extracted pgsql
sources (i.e. on pgsql's Makefile) but on the ports
meta-Makefile).

So my guess, again, is that it was a pretty simple fix, and
that the FreeBSD ports Makefiles (whichever) are the ones
breaking it.

Thanks again for your reply,

Fernan

|
|             regards, tom lane
|
+----]

--
F e r n a n   A g u e r o
http://genoma.unsam.edu.ar/~fernan

pgsql-ports by date:

Previous
From: Larry Rosenman
Date:
Subject: Re: 723 failed to compile [FreeBSD-4.7-STABLE]
Next
From: Fernan Aguero
Date:
Subject: Re: 723 failed to compile [FreeBSD-4.7-STABLE]