Bug 172999 - e-d-s missing function declarations when built against openldap-2.3
e-d-s missing function declarations when built against openldap-2.3
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: evolution-data-server (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Dave Malcolm
:
Depends On:
Blocks: FC5Target 172882
  Show dependency treegraph
 
Reported: 2005-11-11 17:21 EST by Dave Malcolm
Modified: 2007-11-30 17:11 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-11-29 16:02:02 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Dave Malcolm 2005-11-11 17:21:30 EST
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
Comment 1 Jay Fenlason 2005-11-14 12:22:38 EST
Easy workaround it to add -DLDAP_DEPRECATED to your $RPM_OPT_FLAGS in your 
spec file. 
Comment 2 Dave Malcolm 2005-11-29 08:48:53 EST
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

Comment 3 Dave Malcolm 2005-11-29 10:09:31 EST
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)
Comment 4 Dave Malcolm 2005-11-29 16:02:02 EST
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.

Note You need to log in before you can comment on or make changes to this bug.