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

Re: samba: Active Directory support requires ldap_initialize



On Wednesday 01 October 2008 22:24:58 Wayne Rasmussen wrote:
> Having a problem with openldap-2.4.11 for use with Samba-3.2.4 and am
> looking for help fixing the issue.
>
>
>
> system info:
>
> uname -m = sun4u
>
> uname -r = 5.9
>
> uname -s = SunOS
>
> uname -v = Generic_118558-25
>

I have:

[bgmilne@blade ~]$ uname -mrsv
SunOS 5.10 Generic sun4u

>
>
> #building openldap
> CC=gcc
> #echo $CC
> #exit
> CPPFLAGS="-I/usr/local/include -I/usr/local/ssl/include
> -I/usr/local/BerkeleyDB.4.2/include -I/usr/local/include/sasl"
> LDFLAGS="-L/usr/local/lib -L/usr/local/ssl/lib
> -L/usr/local/BerkeleyDB.4.2/lib"
> export CC CPPFLAGS LDFLAGS
> #
> CFLAGS='-D_AVL_H'
> export CFLAGS
> #
>
>
> ./configure --enable-bdb

Since you didn't provide --includedir or --libdir, the headers would be 
installed to a default location, and pre-existing headers would not be 
overwritten ...

> make depend
> make install
> #end building openldap
>
> #build samba
> make clean
> ./configure --with-ldap --with-acl-support --with-ads --with-pam
> --with-winbind --with-krb5=/usr/local
>
> #####make
> #####make install
> #end build samba
>
> The configure script fails with the following:
>
>
>
>
> checking for LDAP support... yes
> checking ldap.h usability... yes
> checking ldap.h presence... yes
> checking for ldap.h... yes
> checking lber.h usability... yes
> checking lber.h presence... yes
> checking for lber.h... yes
> checking for ber_tag_t... yes
> checking for ber_scanf in -llber... yes
> checking for ber_sockbuf_add_io... yes
> checking for LDAP_OPT_SOCKBUF... yes
> checking for LBER_OPT_LOG_PRINT_FN... yes
> checking for ldap_init in -lldap... yes
> checking for ldap_set_rebind_proc... yes
> checking whether ldap_set_rebind_proc takes 3 arguments... 3
> checking for ldap_initialize... no
> checking whether LDAP support is used... yes
> checking for Active Directory and krb5 support... yes
> checking for ldap_initialize... (cached) no
> configure: error: Active Directory support requires ldap_initialize


[bgmilne@blade ~]$ grep Copyright /usr/include/ldap.h /usr/include/lber.h
/usr/include/ldap.h: * Copyright 2001-2003 Sun Microsystems, Inc.  All rights 
reserved.
/usr/include/ldap.h: * Copyright (C) 1998-1999 Netscape Communications 
Corporation. All
/usr/include/lber.h: * Copyright (c) 2001 by Sun Microsystems, Inc.
/usr/include/lber.h: * Copyright(C) 1998 Netscape Communications Corporation.  
All Rights
[bgmilne@blade ~]$ grep "ldap_init(" /usr/include/ldap.h
LDAP_API(LDAP *) LDAP_CALL ldap_init(const char *defhost, int defport);
 * Use this after ldap_init() or just use ldapssl_init() instead.
[bgmilne@blade ~]$ grep ldap_initialize /usr/include/ldap.h
[bgmilne@blade ~]$


On:
[bgmilne@tiger ~]$ rpm -q --whatprovides openldap-devel
lib64ldap2.4_2-devel-2.4.11-3mdv2009.0


I get:
[bgmilne@tiger ~]$ grep Copyright /usr/include/ldap.h
 * Copyright 1998-2008 The OpenLDAP Foundation.
/* Portions Copyright (c) 1990 Regents of the University of Michigan.
[bgmilne@tiger ~]$ grep "ldap_initialize.*(" /usr/include/ldap.h
ldap_initialize LDAP_P((

So, I think check that you have got the headers you thought you installed, and 
either remove the ones in the default include path, or override relevant 
compiler options to ensure you get the right headers (and libraries) first.

(I did actually build samba 3.2.3 against OpenLDAP 2.4.11 yesterday (and 3.2.4 
and today), and the resulting binaries joined an AD test domain just fine 
yesterday ...)

Regards,
Buchan