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.
> 
> 
> 
> 
> 
> -- 
> Best,
> 
> 
> 
> 
> Frank.
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 9: the planner will ignore your desire to choose an index scan if your
>       joining column's datatypes do not match
> 

-- 
  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
Index: src/Makefile.global.in
===================================================================
RCS file: /cvsroot/pgsql/src/Makefile.global.in,v
retrieving revision 1.205
diff -c -c -r1.205 Makefile.global.in
*** src/Makefile.global.in      19 Nov 2004 00:41:38 -0000      1.205
--- src/Makefile.global.in      14 Dec 2004 22:49:42 -0000
***************
*** 308,313 ****
--- 308,319 ----
  
  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)
+ endif
+ 
  submake-libpq:
        $(MAKE) -C $(libpq_builddir) all
  
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to