List Info

Thread: Re: (ITS#4982) link libldap_r explicitly with the threading libraries




Re: (ITS#4982) link libldap_r explicitly with the threading libraries
country flaguser name
United States
2007-05-23 21:00:54
Kurt Zeilenga <kurtOpenLDAP.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:

$(LIBRARY): version.lo
        $(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 (rrastanford.edu)             <http://www.eyrie.org
/~eagle/>



[1]

about | contact  Other archives ( Real Estate discussion Medical topics )