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

compile problems with openldap 2.1.16



Hi all,

I have a machine with openldap 2.1.16, the ldap server is running working fine, but postfix has problems with it.

I have the following in my main.cf:

ldapvirtual_server_host = ldapserver
ldapvirtual_server_port = 389
ldapvirtual_bind = yes
ldapvirtual_bind_dn = ou=system,o=company
ldapvirtual_bind_pw = passwd
ldapvirtual_search_base = ou=unit,o=company
ldapvirtual_query_filter = (&(|(mail=%s)(mailAlternateAddress=%s))(AccountStatus
=active))
ldapvirtual_result_attribute = mailMessageStore

Which worked fine with openldap 2.0.21

With openldap 2.1.16 (I did put allow=ldapv2 in my slapd.conf), I see the following error in my log:

Apr 14 13:03:35 kali postfix/cleanup[29931]: warning: dict_ldap_connect: Unable to bind to server ldapserver as ou=unit,o=company: 81 (Can't contact LDAP server)

I know some things have changed in recent openldap, some things don't seem to exist anymore, when I try to compile postfix on the machine with the ldap.h from 2.1.16 I get the following error:

make makefiles CCARGS="-I/usr/include/openssl -I/usr/include/db3 -DUSE_SASL_AUTH
 -DHAS_LDAP -DHAS_DB -DHAS_SSL" AUXLIBS="-lsasl -lldap -llber  -ldb -L/usr/lib/s
sl -lssl -lcrypto"
make

....

gcc -Wmissing-prototypes -Wformat -I/usr/include/openssl -I/usr/include/db3 -DUSE_SASL_AUTH -DHAS_LDAP -DHAS_DB -DHAS_SSL -g -O -I. -I../../include -DLINUX2 -o error error.o ../../lib/libmaster.a ../../lib/libglobal.a ../../lib/libutil.a -lsasl -lldap -llber -ldb -L/usr/lib/ssl -lssl -lcrypto -ldb -lnsl -lresolv
../../lib/libutil.a(dict_ldap.o): In function `dict_ldap_connect':
/home/admin/postfix/postfix-2.0.7/src/util/dict_ldap.c:405: undefined reference to `ldap_enable_cache'
collect2: ld returned 1 exit status
make: *** [error] Error 1
make: *** [update] Error 1

With postfix version 2.0.7, it seems that dict_ldap_connect doesn't exist in 2.1.16, what to do about it?
Is there a postfix patch for it? Or can I change slapd.conf in a way that it still accepts the old commands?

Cheers,
Jeroen.