The specfile is set up to build e-d-s with -Werror-implicit-function-declaration (to help trap 64-bit cleanliness problems etc) Getting the following when rebuilding against the new openldap: e2k-global-catalog.c:141: error: implicit declaration of function 'ldap_unbind' e2k-global-catalog.c:198: error: implicit declaration of function 'ldap_abandon' e2k-global-catalog.c:328: error: implicit declaration of function 'ldap_simple_bind_s' e2k-global-catalog.c:348: error: implicit declaration of function 'ldap_init' e2k-global-catalog.c:472: error: implicit declaration of function 'ldap_get_values' e2k-global-catalog.c:488: error: implicit declaration of function 'ldap_value_free' Works with openldap-devel-2.2.29-2 Fails with openldap-devel-2.3.11-2 Looks like the functions were deprecated in 2.2
Easy workaround it to add -DLDAP_DEPRECATED to your $RPM_OPT_FLAGS in your spec file.
Also affects evolution and evolution-connector: evolution: addressbook-config.c: In function 'addressbook_ldap_init': addressbook-config.c:248: error: implicit declaration of function 'ldap_init' addressbook-config.c:248: warning: assignment makes pointer from integer without a cast addressbook-config.c: In function 'addressbook_ldap_auth': addressbook-config.c:270: error: implicit declaration of function 'ldap_simple_bind_s' addressbook-config.c: In function 'do_ldap_root_dse_query': addressbook-config.c:349: error: implicit declaration of function 'ldap_get_values' addressbook-config.c:349: warning: assignment makes pointer from integer without a cast addressbook-config.c:362: error: implicit declaration of function 'ldap_value_free' addressbook-config.c:363: error: implicit declaration of function 'ldap_unbind_s' evolution-connector: e-book-backend-gal.c: In function 'gal_reconnect': e-book-backend-gal.c:269: error: implicit declaration of function 'ldap_unbind' e-book-backend-gal.c:269: warning: nested extern declaration of 'ldap_unbind' e-book-backend-gal.c: In function 'ldap_op_finished': e-book-backend-gal.c:334: error: implicit declaration of function 'ldap_abandon' e-book-backend-gal.c:334: warning: nested extern declaration of 'ldap_abandon' e-book-backend-gal.c: In function 'build_contact_from_entry': e-book-backend-gal.c:1222: error: implicit declaration of function 'ldap_get_values' e-book-backend-gal.c:1222: warning: nested extern declaration of 'ldap_get_values' e-book-backend-gal.c:1222: warning: assignment makes pointer from integer without a cast e-book-backend-gal.c:1227: error: implicit declaration of function 'ldap_value_free' e-book-backend-gal.c:1227: warning: nested extern declaration of 'ldap_value_free' e-book-backend-gal.c:1242: warning: assignment makes pointer from integer without a cast
I've taken the easy fix and added -DLDAP_DEPRECATED to CFLAGS in each package; should be fixed in: evolution-data-server-1.4.1.1-3 evolution-2.4.1-8 evolution-connector-2.4.1-3 (Should get this fixed properly upstream though)
From talking to Jay, the deprecated functions will continue to exist in openldap-2.3.* They may get removed in 2.4.*, but this will be a separate branch, rather than a development vs unstable split (appears not to follow the kernel versioning model) so we should get plenty of warning of the removal. So I'm going to resolve this as RAWHIDE (fixed in the packages referenced in comment #3 above); we'll fix this fully upstream when it becomes a real problem.