Bug 172999 - e-d-s missing function declarations when built against openldap-2.3
Summary: e-d-s missing function declarations when built against openldap-2.3
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: evolution-data-server
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Dave Malcolm
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: FC5Target 172882
TreeView+ depends on / blocked
 
Reported: 2005-11-11 22:21 UTC by Dave Malcolm
Modified: 2007-11-30 22:11 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2005-11-29 21:02:02 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dave Malcolm 2005-11-11 22:21:30 UTC
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 17:22:38 UTC
Easy workaround it to add -DLDAP_DEPRECATED to your $RPM_OPT_FLAGS in your 
spec file. 

Comment 2 Dave Malcolm 2005-11-29 13:48:53 UTC
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 15:09:31 UTC
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 21:02:02 UTC
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.