> 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

Reply via email to