Обсуждение: HEAD build troubles, buildfarm misconfigurations
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
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
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
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
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
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
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