osx and thread safety?

Started by Theodore Petroskyover 21 years ago3 messagesbugs
Jump to latest
#1Theodore Petrosky
tedpet5@yahoo.com

Can someone shed some light on the thread safety
switch. I am using PostgreSQL on mac os x. I have made
and installed from 7.2 through 8.0b. I now see this
feature of thread safety and I don't understand why I
would need it.

I have tried:

./configure --with-rendezvous --enable-thread-safety

I get these errors:

ld: common symbols not allowed with MH_DYLIB output
format with the -multi_module option
fe-secure.o definition of common _thread_in_send (size
4)
/usr/bin/libtool: internal link edit command failed
make[3]: *** [libpq.3.2.dylib] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

this is os x 10.3.5 with gcc (GCC) 3.3

any ideas (If I don't know what it is, do I need it?)

Ted

__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail

#2Bruce Momjian
bruce@momjian.us
In reply to: Theodore Petrosky (#1)
Re: osx and thread safety?

You need threading if you need to do threads in your client
applications. Not sure why you get the link error though.

---------------------------------------------------------------------------

Theodore Petrosky wrote:

Can someone shed some light on the thread safety
switch. I am using PostgreSQL on mac os x. I have made
and installed from 7.2 through 8.0b. I now see this
feature of thread safety and I don't understand why I
would need it.

I have tried:

./configure --with-rendezvous --enable-thread-safety

I get these errors:

ld: common symbols not allowed with MH_DYLIB output
format with the -multi_module option
fe-secure.o definition of common _thread_in_send (size
4)
/usr/bin/libtool: internal link edit command failed
make[3]: *** [libpq.3.2.dylib] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2

this is os x 10.3.5 with gcc (GCC) 3.3

any ideas (If I don't know what it is, do I need it?)

Ted

__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Theodore Petrosky (#1)
Re: osx and thread safety?

Theodore Petrosky <tedpet5@yahoo.com> writes:

I get these errors:

ld: common symbols not allowed with MH_DYLIB output
format with the -multi_module option
fe-secure.o definition of common _thread_in_send (size
4)

Some googling turns up the fact that OS X does not like uninitialized
global variables in dynamic libraries. There are a couple of
workarounds but the easiest one seems to be to initialize the variable.
I added "= 0" to the definition of thread_in_send and the problem
went away.

It's possible that this would create issues on platforms where
type pthread_key_t is neither integral nor a pointer type. Does
anyone know of such?

regards, tom lane