OK, applied. I got a private email from the poster stating the patch works for him. The final patch is slightly different because of the AIX test.
--------------------------------------------------------------------------- Index: Makefile.global.in =================================================================== RCS file: /cvsroot/pgsql/src/Makefile.global.in,v retrieving revision 1.206 diff -c -r1.206 Makefile.global.in *** Makefile.global.in 16 Dec 2004 17:48:29 -0000 1.206 --- Makefile.global.in 16 Dec 2004 18:12:55 -0000 *************** *** 308,318 **** --- 308,324 ---- libpq = -L$(libpq_builddir) -lpq + # If doing static linking, shared library dependency can't be + # used so we specify pthread libs for every usage of libpq + ifeq ($(enable_shared), no) + libpq += $(PTHREAD_LIBS) + else # AIX libraries do not remember their required libs so we have to force # thread dependent libraires in the link ifeq ($(PORTNAME), aix) libpq += $(PTHREAD_LIBS) endif + endif submake-libpq: $(MAKE) -C $(libpq_builddir) all --------------------------------------------------------------------------- Bruce Momjian wrote: > > OK, it took me a while to figure this out, but it is similar to the > problem we have on AIX. AIX shared libraries don't track other > libraries needed by the shared library, and non-shared libraries also > have no such dependency information. > > I have attached a patch that is very similar to the AIX fix. It > basically propagates the thread library flags to all uses of libpq. > > Would you please test and report back? Thanks. > > --------------------------------------------------------------------------- > > Frank van Vugt wrote: > > L.S. > > > > I noticed the following : > > > > > > Workstation used to build RC1: > > > > 2.4.21-260-athlon, i686 athlon i386 GNU/Linux > > > > > > Configured with : > > > > ./configure > > --enable-thread-safety > > --disable-shared > > --prefix=/usr/src/postgresql/install > > > > > > Error during make install : > > > > in directory src/bin/pg_ctl > > > > gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wendif-labels > > -fno-strict-aliasing pg_ctl.o -L../../../src/interfaces/libpq -lpq > > -L../../../src/port -Wl,-rpath,/usr/src/postgresql/install/lib -lpgport > > -lz > > -lreadline -lcrypt -lresolv -lnsl -ldl -lm -o pg_ctl > > ../../../src/interfaces/libpq/libpq.a(fe-secure.o)(.text+0x140): In > > function > > `pq_block_sigpipe': > > : undefined reference to `pthread_sigmask' > > ../../../src/interfaces/libpq/libpq.a(fe-secure.o)(.text+0x1e0): In > > function > > `pq_reset_sigpipe': > > : undefined reference to `pthread_sigmask' > > collect2: ld gaf exit-status 1 terug > > > > > > There seems to be a missing option '-lpthread' here, adding it properly > > links > > the file. > > > > The same goes for pg_restore, pg_dumpall, psql, createdb, createlang, > > createuser, dropdb, droplang, dropuser, clusterdb and vacuumdb. > > -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend