[Date Prev][Date Next]
Re: (ITS#4982) link libldap_r explicitly with the threading libraries
Kurt Zeilenga <kurt@OpenLDAP.org> writes:
> libtool should properly handle -pthread. If it doesn't, that should be
> fixed instead of kludging things up with -lpthread. -pthread tells gcc
> to do the right thing. The right thing might not be to link in
> -lpthread. (On some versions of FreeBSD, the right think is -lc_r.)
> -pthread also might do more than link in a library.
> As OpenLDAP includes its own copy of libtool, a local fix can be
> provided until the upstream fixes it right.
I think the above was meant for ITS #4981?
This issue, ITS#4982, is that no threading flags (not -pthread, not
-lpthread, not anything) are passed into the final link line of libldap_r,
as near as I can tell. It's possible that I'm reading the makefile wrong
and this has been fixed in some other way since the Debian patch had been
applied, but libraries/libldap_r/Makefile.in contains:
UNIX_LINK_LIBS = $(LDAP_LIBLBER_LA) $(AC_LIBS) $(SECURITY_LIBS)
and build/lib-shared.mk has:
$(LTLINK_LIB) -o $@ $(OBJS) version.lo $(LINK_LIBS)
including only LINK_LIBS, and not the regular LIBS variable (which is what
includes LTHREAD_LIBS via XXXLIBS). It could be that I'm missing some
contribution to LTLINK_LIB handled by the threading macros, though.
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>