[Date Prev][Date Next] [Chronological] [Thread] [Top]

undefined reference to `ldap_int_tls_impl' (tls2.c) ?



make is exiting with several "undefined reference to 'ldap_int_tls_impl'" error messages:

./.libs/libldap.a(tls2.o): In function `ldap_pvt_tls_ctx_free':
/home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:79: undefined reference to `ldap_int_tls_impl'
./.libs/libldap.a(tls2.o): In function `tls_init':
/home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:163: undefined reference to `ldap_int_tls_impl' /home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:163: undefined reference to `ldap_int_tls_impl' /home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:168: undefined reference to `ldap_int_tls_impl'
./.libs/libldap.a(tls2.o): In function `ldap_pvt_tls_check_hostname':
/home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:494: undefined reference to `ldap_int_tls_impl' ./.libs/libldap.a(tls2.o):/home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap/tls2.c:860: more undefined references to `ldap_int_tls_impl' follow
collect2: ld returned 1 exit status
make[2]: *** [apitest] Error 1
make[2]: Leaving directory `/home/vmplanet/Downloads/openldap-2.4.24/libraries/libldap'
make[1]: *** [all-common] Error 1
make[1]: Leaving directory `/home/vmplanet/Downloads/openldap-2.4.24/libraries'
make: *** [all-common] Error 1

what is the proper way to fix this so that i might successfully make?


BACKGROUND
i am attempting to set up and install openldap 2.4.24 on a virtual kubuntu on windows xp.

'configure' and 'make depend' appear to run successfully.
i execute the following steps:

export CPPFLAGS="-I/usr/include/nss -I/usr/include/nspr -I/usr/local/BerkeleyDB.5.0/include"
export LDFLAGS="-L/usr/lib/nss -L/usr/local/BerkeleyDB.5.0/lib"
export LD_LIBRARY_PATH="/home/vmplanet/Downloads/db-5.0.32/build_unix/.libs"

configure --enable-shell=yes --without-threads
make depend

(in case you're wondering why back-shell, i've included details in a previous thread, http://tinyurl.com/4flbgh4. note that in that thread, i successfully installed openldap directly on windows, but had questions about successfully testing back-shell -- and still do.)


going back to the errors above, i note in which files this 'ldap_int_tls_impl' appears with a grep:

./libraries/libldap_r/tls2.c:40:static tls_impl *tls_imp = &ldap_int_tls_impl;
./libraries/libldap_r/tls_g.c:1095:tls_impl ldap_int_tls_impl = {
./libraries/libldap_r/tls_o.c:1253:tls_impl ldap_int_tls_impl = {
./libraries/libldap_r/tls_m.c:3040:tls_impl ldap_int_tls_impl = {
./libraries/libldap/tls2.c:40:static tls_impl *tls_imp = &ldap_int_tls_impl;
./libraries/libldap/tls_g.c:1095:tls_impl ldap_int_tls_impl = {
./libraries/libldap/ldap-tls.h:75:extern tls_impl ldap_int_tls_impl;
Binary file ./libraries/libldap/.libs/libldap-2.4.so.2.6.0 matches
Binary file ./libraries/libldap/.libs/libldap.so matches
Binary file ./libraries/libldap/.libs/tls2.o matches
Binary file ./libraries/libldap/.libs/libldap-2.4.so.2 matches
Binary file ./libraries/libldap/.libs/libldap.a matches
Binary file ./libraries/libldap/tls2.o matches
./libraries/libldap/tls_o.c:1253:tls_impl ldap_int_tls_impl = {
./libraries/libldap/tls_m.c:3040:tls_impl ldap_int_tls_impl = {

ldap_int_tls_impl appears (defined) in the fellow tls* files above. is this then an indication that tls2.c is not communicating or 'linked' to its fellow tls* files or ?

the output from 'make depend' appears to show that mkdep traversed the libldap and libldap_r subdirectories and successfully constructed the necessary sets of include file dependencies.

admittedly, i am not altogether that familiar with (the intricacies of) the compile/make process.

please advise; thanks in advance.