Threading with non-shared libraries

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Frank van Vugt <ftm(dot)van(dot)vugt(at)foxi(dot)nl>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Threading with non-shared libraries
Date: 2004-12-14 23:31:00
Message-ID: 200412142331.iBENV0o10035@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-patches


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
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Attachment Content-Type Size
unknown_filename text/plain 667 bytes

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Dann Corbit 2004-12-14 23:56:18 Re: Performance suggestions?
Previous Message Harvey, Allan AC 2004-12-14 23:22:31 Performance suggestions?

Browse pgsql-patches by date

  From Date Subject
Next Message Devrim GUNDUZ 2004-12-15 00:55:00 Updated Turkish translations for 8.0.0
Previous Message Tom Lane 2004-12-14 22:50:45 Re: dropdb/contrib-regression