I have tried to get rlm_ldap to build, but w/o success. The problem seems to be that the code in the configure-script testing if the lber- and ldap- libraries works, doesn't work on my platform (Solaris 8/SPARC/gcc). I have fixed the lber test code by replacing:
#include "confdefs.h" extern char ber_init(); int main() { ber_init() ; return 0; } with #include "confdefs.h" #include <lber.h> int main () { struct berval *bv; ber_init(bv); return 0; } in the configure script in the rlm_ldap directory. As the ldap test failed in a similiar manner, I tried to do the same thing here, replacing: #include "confdefs.h" extern char ldap_init(); int main() { ldap_init() ; return 0; } with #include "confdefs.h" #include <ldap.h> int main () { char *name = "foo"; int port = 1; ldap_init(name, port); return 0; } However, this does not work. I guess it is because my test program doesn't compile: ducati(bn) rlm_ldap 1315$ gcc -I/local/db/openldap/2.0.21/include -L/local/db/openldap/2.0.21/lib -llber -lldap -lnsl -lsocket -lrt testlibldap.c Undefined first referenced symbol in file SSL_library_init /local/db/openldap/2.0.21/lib/libldap.so ERR_error_string /local/db/openldap/2.0.21/lib/libldap.so SSL_CTX_set_cipher_list /local/db/openldap/2.0.21/lib/libldap.so SSL_CIPHER_get_bits /local/db/openldap/2.0.21/lib/libldap.so CRYPTO_free /local/db/openldap/2.0.21/lib/libldap.so X509_get_issuer_name /local/db/openldap/2.0.21/lib/libldap.so .... To me, it looks like I am missing some crypto libraries, but these should not be required to compile? Anyway, let's go back to the original problem. This is the complete output from the configure script: ducati(bn) rlm_ldap 1317$ ./configure --with-rlm-ldap-lib-dir=/local/db/openldap/2.0.21/lib --with-rlm-ldap-include-dir=/local/db/openldap/2.0.21/include creating cache ./config.cache checking for gcc... /local/gnu/bin/gcc checking whether the C compiler (/local/gnu/bin/gcc ) works... yes checking whether the C compiler (/local/gnu/bin/gcc ) is a cross-compiler... nochecking whether we are using GNU C... yes checking whether /local/gnu/bin/gcc accepts -g... yes checking for inet_aton in -lresolv... yes checking for lber.h... yes checking for ldap.h... yes checking for sasl_encode in -lsasl... no checking for DH_new in -lcrypto... no checking for SSL_new in -lssl... no checking for ber_init in -llber... yes checking for ldap_init in -lldap... no configure: warning: silently not building rlm_ldap. configure: warning: FAILURE: rlm_ldap requires: libldap. updating cache ./config.cache creating ./config.status creating Makefile ducati(bn) rlm_ldap 1318$ I have checked that the configure script does indeed try the compile the tests with the correct paths (ie. /local/db/openldap/...), and I am quite certain it does find the libraries/includes it needs. I have tried this with both FreeRADIUS 0.5, and the lates from CVS. Any help greatly appreciated! -- We tend to meet any new situation by reorganising; and a wonderful method it can be for creating the illusion of progress while producing confusion, inefficiency and demoralisation. -- Gaius Petronius, 60 AD - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html