> Jim C. Nasby wrote: >> Platypus just started failing... >> http://pgbuildfarm.org/cgi-bin/show_log.pl?nm=platypus&dt=2006-08-09%2010:05:01
gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Winline -Wdeclaration-after-statement -Wendif-labels -fno-strict-aliasing -g -I./../../include -I../../../../../src/interfaces/libpq -I../../include -I../../../../../src/include -L../../../../../src/port -L/usr/local/lib -Wl,-R'/home/buildfarm/buildfarm/HEAD/inst/lib' -L../../ecpglib -L../../pgtypeslib -L../../../libpq num_test2.c -lpgport -lintl -lssl -lcrypto -lz -lreadline -lcrypt -lm -lpgtypes -lecpg -lpq -o num_test2 /tmp/buildfarm/ccwtFkAf.o(.text+0x259): In function `main': /home/buildfarm/buildfarm/HEAD/pgsql.67800/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc:102: undefined reference to `PGTYPESdecimal_new' /tmp/buildfarm/ccwtFkAf.o(.text+0x292):/home/buildfarm/buildfarm/HEAD/pgsql.67800/src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc:118: undefined reference to `PGTYPESdecimal_free' gmake[5]: *** [num_test2] Error 1 I note that both those functions exist in ecpg's pgtypeslib in HEAD but not in 8.1. I'm betting you have an older pgtypeslib.so in /usr/local/lib and that the poorly-chosen order of -L flags in the above command is the problem. Basically the bug here is that src/interfaces/ecpg/test/Makefile.regress does override LDFLAGS += -L../../ecpglib -L../../pgtypeslib -L../../../libpq which is guaranteed to create the wrong ordering of -L switches compared to anything coming from "configure --with-libraries". We need all the -L switches for inside-the-build-tree directories to come before all the ones for other places. pg_xs.mk does this by the simple expedient of including PG_LIBS before LDFLAGS on the link command line; Makefile.shlib has a more complex approach involving surgery on LDFLAGS itself; but one way or the other you need to be careful. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend