Re: pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream
От | Heikki Linnakangas |
---|---|
Тема | Re: pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream |
Дата | |
Msg-id | 559D8887.6020005@iki.fi обсуждение исходный текст |
Ответ на | Re: pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: pgsql: Replace our hacked version of ax_pthread.m4 with latest upstream
|
Список | pgsql-committers |
On 07/08/2015 11:20 PM, Tom Lane wrote: > I wrote: >> Heikki Linnakangas <heikki.linnakangas@iki.fi> writes: >>> Replace our hacked version of ax_pthread.m4 with latest upstream version. > >> Well, in fact that did not work. See gharial: it appears to have picked >> the wrong thread flags. > > And even more annoying, now that I've git pull'd, I find it's also broken > the build on my RHEL6 box: > > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_ctl] Error 1 > make[2]: *** [all-pg_ctl-recurse] Error 2 > make[2]: *** Waiting for unfinished jobs.... > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_receivexlog] Error 1 > make[3]: *** Waiting for unfinished jobs.... > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_basebackup] Error 1 > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_recvlogical] Error 1 > make[2]: *** [all-pg_basebackup-recurse] Error 2 > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_dumpall] Error 1 > make[3]: *** Waiting for unfinished jobs.... > make[3]: *** [pg_rewind] Error 1 > make[2]: *** [all-pg_rewind-recurse] Error 2 > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_restore] Error 1 > ../../../src/interfaces/libpq/libpq.so: undefined reference to `pthread_sigmask' > collect2: ld returned 1 exit status > make[3]: *** [pg_dump] Error 1 > make[2]: *** [all-pg_dump-recurse] Error 2 > make[1]: *** [all-bin-recurse] Error 2 > make: *** [all-src-recurse] Error 2 > > It appears the new improved macro doesn't bother with -pthread at all. > Previously I got this in Makefile.global: > > PTHREAD_CFLAGS = -pthread -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS > PTHREAD_LIBS = -lpthread > > Now I get > > PTHREAD_CFLAGS = -D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS > PTHREAD_LIBS = > > and that simply doesn't work. I do not know why the buildfarm isn't > entirely red, but I'm dead in the water. Please revert this. I'm debugging this ATM. You're probably seeing a failure similar to shearwater. The problem seems to be that the earlier autoconf tests add "-lrt" to LIBS, and that somehow pulls in pthread_join() and other functions, but not pthread_sigmask(), even when not compiling with -pthread. I'll dig a bit deeper, but I think that could be fixed by moving the AX_PTHREAD call in the configure script earlier, or by temporarily clearing LIBS before calling it. - Heikki
В списке pgsql-committers по дате отправления: