Thread: osx and thread safety?
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
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
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