[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [dev-serveez] serveez needs flag for -pthread on Fedora 15
From: |
Thien-Thi Nguyen |
Subject: |
Re: [dev-serveez] serveez needs flag for -pthread on Fedora 15 |
Date: |
Sat, 28 May 2011 20:30:34 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
() Mike Gran <address@hidden>
() Fri, 27 May 2011 19:12:49 -0700 (PDT)
When building serveez 'next' head on Fedora 15 i686, the linking of the
serveez
executable fails because of a missing pthread DSO.
libtool: link: gcc -std=gnu99 -g -O2 -o serveez gi.o serveez.o guile.o
cfgfile.o option.o guile-server.o guile-bin.o -L/usr/local/lib -lguile
foo-server/libfoo.a sntp-server/libsntp.a nut-server/libnut.a
tunnel-server/libtunnel.a ctrl-server/libctrl.a irc-server/libircserver.a
irc-core/libirccore.a awcs-server/libawcs.a http-server/libhttp.a
fakeident-server/libfakeident.a prog-server/libprog.a
libserveez/.libs/libserveez.a -lz -lbz2 -ldl
/usr/bin/ld: gi.o: undefined reference to symbol
'pthread_getspecific@@GLIBC_2.0'
/usr/bin/ld: note: 'pthread_getspecific@@GLIBC_2.0' is defined in DSO
/lib/libpthread.so.0 so try adding it to the linker command line
/lib/libpthread.so.0: could not read symbols: Invalid operation
Hmm, gi.c doesn't do anything explicitly w/ threads, so this must be a
transitive requirement from Guile. What does:
grep -nHE -e '^[A-Z]+.* -l' \
src/Makefile \
src/libserveez/Makefile
output? Also (somewhat related), i suspect Fedora has ‘fwrite_unlocked’, so
‘ENABLE_LOG_MUTEX’ in src/config.h is (correctly) #undef. Is that the case?
Re-running ./configure with LIBS=-lpthread allows for a successful compile.
If I recall correctly, there is an AX_PTHREAD module in the autoconf
archive that might be pressed into service to work around this configure
problem.
Thanks for the tip. I'll keep it in mind if root cause proves to NOT be
Guile-related. For Guile-related root cause, probably the problem lies with
m4/inc.4m macro ‘SVZ_GUILE’.