HEAD build troubles, buildfarm misconfigurations

Started by Robert Treatover 18 years ago7 messages
#1Robert Treat
xzilla@users.sourceforge.net

Trying to build 8.3 from the stable snapshot again (yes, I'm a glutten for
punishment), and using the following config options:

./configure --prefix=/home/rob/devel/postgresql/83snapshot20070904/pgsql/
--enable-cassert --with-perl --enable-debug --with-pgport=5483 --with-libxml

I get the following error during make (configure runs fine)

gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -g -DFRONTEND -I. -I../../../src/interfaces/libpq -I../../../src/bin/pg_dump -I../../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 -c -o
describe.o describe.c
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -g -DFRONTEND -I. -I../../../src/interfaces/libpq -I../../../src/bin/pg_dump -I../../../src/include -D_GNU_SOURCE -I/usr/include/libxml2 -c -o
psqlscan.o psqlscan.c
In file included from ../../../src/include/port.h:17,
from ../../../src/include/c.h:839,
from ../../../src/include/postgres_fe.h:21,
from psqlscan.l:40:
/usr/include/netdb.h:560: error: syntax error before ‘[’ token
make[3]: *** [psqlscan.o] Error 1
make[3]: Leaving directory
`/home/rob/devel/postgresql/83snapshot20070904/postgresql-snapshot/src/bin/psql'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/rob/devel/postgresql/83snapshot20070904/postgresql-snapshot/src/bin'
make[1]: *** [all] Error 2
make[1]: Leaving directory
`/home/rob/devel/postgresql/83snapshot20070904/postgresql-snapshot/src'
make: *** [all] Error 2

Looking at /usr/include/netdb.h I see in that section

# ifdef __USE_GNU
/* Structure used as control block for asynchronous lookup. */
struct gaicb
{
const char *ar_name; /* Name to look up. */
const char *ar_service; /* Service name. */
const struct addrinfo *ar_request; /* Additional request specification. */
struct addrinfo *ar_result; /* Pointer to result. */
/* The following are internal elements. */
int __return;
int __unused[5];
};

/* Lookup mode. */
# define GAI_WAIT 0
# define GAI_NOWAIT 1
# endif

If anyone has any ideas on what might fix the above, I'd be interested in
hearing them. (And oddly, the snapshot built fine a couple days ago)

The second half of this story is that I thought it was odd none of the
buildfarm machines had reported this error, so I went poking for another
ubuntu machine (I am running Ubuntu 6.06), preferrably one that was also
trying to build xml, and I noticed "barasingha" (ubuntu 7.04) was configured
with --with-xml, which afaict should produce nothing more than a configure
warning. I looked at a handful of other machines configured for xml and they
all seemed right, but maybe someone can do a more thorough search in the db?
Or maybe there is a way to capture configure warnings?

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Treat (#1)
Re: HEAD build troubles, buildfarm misconfigurations

Robert Treat <xzilla@users.sourceforge.net> writes:

I get the following error during make (configure runs fine)

/usr/include/netdb.h:560: error: syntax error before =E2=80=98[=E2=80=99 to=
ken

Which line of netdb.h is that exactly? I'm thinking we've redefined
some name as a macro that's breaking the include file, but I don't see
which name exactly ...

regards, tom lane

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Treat (#1)
Re: HEAD build troubles, buildfarm misconfigurations

Robert Treat <xzilla@users.sourceforge.net> writes:

I get the following error during make (configure runs fine)

BTW, on re-reading that, it seems a tad surprising to get an error right
there --- if postgres_fe.h or anything it includes were broken, then the
build should have failed earlier. Is the failure reproducible in
repeated tries?

regards, tom lane

#4Robert Treat
xzilla@users.sourceforge.net
In reply to: Tom Lane (#2)
Re: HEAD build troubles, buildfarm misconfigurations

On Wednesday 05 September 2007 00:06, Tom Lane wrote:

Robert Treat <xzilla@users.sourceforge.net> writes:

I get the following error during make (configure runs fine)

/usr/include/netdb.h:560: error: syntax error before =E2=80=98[=E2=80=99
to= ken

Which line of netdb.h is that exactly? I'm thinking we've redefined
some name as a macro that's breaking the include file, but I don't see
which name exactly ...

Sorry, it was the line "int __unused[5];"

BTW, on re-reading that, it seems a tad surprising to get an error right
there --- if postgres_fe.h or anything it includes were broken, then the
build should have failed earlier. Is the failure reproducible in
repeated tries?

Yes. Just for giggles I played with the configure flags as well, but it
always errors in that spot.

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Robert Treat (#4)
Re: HEAD build troubles, buildfarm misconfigurations

Robert Treat <xzilla@users.sourceforge.net> writes:

On Wednesday 05 September 2007 00:06, Tom Lane wrote:

BTW, on re-reading that, it seems a tad surprising to get an error right
there --- if postgres_fe.h or anything it includes were broken, then the
build should have failed earlier. Is the failure reproducible in
repeated tries?

Yes. Just for giggles I played with the configure flags as well, but it
always errors in that spot.

Hmph. I checked the CVS logs and there haven't been any recent changes
that seem like they could be related.

It might be worth getting gcc -E output and looking to see what that
part of netdb.h looks like after macro expansion.

regards, tom lane

#6Robert Treat
xzilla@users.sourceforge.net
In reply to: Tom Lane (#5)
Re: HEAD build troubles, buildfarm misconfigurations

On Wednesday 05 September 2007 12:01, Tom Lane wrote:

Robert Treat <xzilla@users.sourceforge.net> writes:

On Wednesday 05 September 2007 00:06, Tom Lane wrote:

BTW, on re-reading that, it seems a tad surprising to get an error right
there --- if postgres_fe.h or anything it includes were broken, then the
build should have failed earlier. Is the failure reproducible in
repeated tries?

Yes. Just for giggles I played with the configure flags as well, but it
always errors in that spot.

Hmph. I checked the CVS logs and there haven't been any recent changes
that seem like they could be related.

It might be worth getting gcc -E output and looking to see what that
part of netdb.h looks like after macro expansion.

Sorry, my C-fu is lacking. My makefile claims it uses gcc -E, but I'm not sure
how to get a look at results after macro expansion

However... I looked again at the output of the make command on some ubuntu
buildfarm members, and the results were different enough that I got suspicous
of the flex/bison derived files in the snapshot, so I decided to build from
cvs and that works fine. FWIW I am using flex 2.5.31 and bison 2.1, not sure
what is used to produce the snapshots...

--
Robert Treat
Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL

#7Andrew Dunstan
andrew@dunslane.net
In reply to: Robert Treat (#6)
Re: HEAD build troubles, buildfarm misconfigurations

Robert Treat wrote:

On Wednesday 05 September 2007 12:01, Tom Lane wrote:

Robert Treat <xzilla@users.sourceforge.net> writes:

On Wednesday 05 September 2007 00:06, Tom Lane wrote:

BTW, on re-reading that, it seems a tad surprising to get an error right
there --- if postgres_fe.h or anything it includes were broken, then the
build should have failed earlier. Is the failure reproducible in
repeated tries?

Yes. Just for giggles I played with the configure flags as well, but it
always errors in that spot.

Hmph. I checked the CVS logs and there haven't been any recent changes
that seem like they could be related.

It might be worth getting gcc -E output and looking to see what that
part of netdb.h looks like after macro expansion.

Sorry, my C-fu is lacking. My makefile claims it uses gcc -E, but I'm not sure
how to get a look at results after macro expansion

However... I looked again at the output of the make command on some ubuntu
buildfarm members, and the results were different enough that I got suspicous
of the flex/bison derived files in the snapshot, so I decided to build from
cvs and that works fine. FWIW I am using flex 2.5.31 and bison 2.1, not sure
what is used to produce the snapshots...

scan.c in snapshot says:

#define YY_FLEX_MAJOR_VERSION 2
#define YY_FLEX_MINOR_VERSION 5

gram.c in snapshot says:

/* A Bison parser, made by GNU Bison 1.875. */

cheers

andrew