From: David L. <dav...@cs...> - 2000-02-25 02:35:28
|
you are right. On Thu, 24 Feb 2000, Sascha Gresk raved thusly: > # this *just* wont work - sascha > # > # AC_SEARCH_LIBS(ber_free, lber) > # AC_SEARCH_LIBS(ldap_open, ldap) > # AC_CHECK_FUNC(ldap_open,, [no_ldap "Couldn't find ldap_open()"]) > # AC_CHECK_HEADER(ldap.h,, [no_ldap "Couldn't find ldap.h"]) > # > > > ldap_open hides in a different lib which your suggested configure-script > wouldn_t try to link ... I would rather prefer using TRY_COMPILE to > check > everything ... and/or set some linkerflags differently ... > > > Greetings, > > Sascha > > > > % nm liblber.a|grep ldap_open > % nm libldap.a|grep ldap_open > 00000000 T ldap_open > % pwd > /tmp/ldap-pfx/lib > > > This is what I see in my config.log on my freebsd3.4-STABLE BOX: > > /tmp/ldap-pfx/src/ldap/libraries/libldap/kbind.c(.text+0x367): undefined > reference to `krb_mk_req' > configure: failed program was: > #line 1448 "configure" > #include "confdefs.h" > /* Override any gcc2 internal prototype to avoid an error. */ > /* We use char because int might match the return type of a gcc2 > builtin and then its argument prototype would still apply. */ > char ldap_open(); > > int main() { > ldap_open() > ; return 0; } > configure:1480: checking for ldap_open > configure:1508: gcc -o conftest -g -O2 -I/tmp/ldap-pfx/include > -DWITH_KERBEROS -L/tmp/ldap-pfx/lib c > onftest.c -llber -lm 1>&5 > /var/tmp/ccq519781.o: In function `main': > /home/sascha/projekte/LDAP/python/ldapmodule-cvs/python-ldap/ldapmodule/configure(.text+0x4): > undefine > d reference to `ldap_open' > configure: failed program was: > #line 1485 "configure" > #include "confdefs.h" > /* System header to define __stub macros and hopefully few prototypes, > which can conflict with char ldap_open(); below. */ > #include <assert.h> > /* Override any gcc2 internal prototype to avoid an error. */ > /* We use char because int might match the return type of a gcc2 > builtin and then its argument prototype would still apply. */ > char ldap_open(); > > int main() { > > /* The GNU C library defines this for functions which it implements > to always fail with ENOSYS. Some functions are actually named > something starting with __ and the normal name is an alias. */ > #if defined (__stub_ldap_open) || defined (__stub___ldap_open) > choke me > #else > ldap_open(); > #endif > > ; return 0; } > -- David Leonard Dav...@cs... Dept of Comp. Sci. and Elec. Engg _ Room:78-624 Ph:+61 7 336 52447 The University of Queensland |+| http://www.csee.uq.edu.au/~leonard/ QLD 4072 AUSTRALIA ~` '~ E2A24DC6446E5779D7AFC41AA04E6401 Computers save man a lot of guesswork, but so does the bikini - BrightSun |