http://bugs.winehq.org/show_bug.cgi?id=10320
Summary: wine-0.9.48 cannot be compiled with openldap-2.4.6 Product: Wine Version: 0.9.48. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-misc AssignedTo: wine-bugs@winehq.org ReportedBy: nyb@users.sourceforge.net
Hi,
compiling wine-0.9.48 with openldap-2.4.6 fails with the following errors:
. . . gcc -c -I. -I. -I../../include -I../../include -D__WINESRC__ -D_REENTRANT -fPIC -Wall -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wwrite-strings -Wpointer-arith -O3 -fomit-frame-pointer -pipe -march=pentium-m -o parse.o parse.c parse.c: In function 'ldap_parse_sort_controlW': parse.c:339: warning: implicit declaration of function 'ldap_parse_sort_control' parse.c: In function 'ldap_parse_vlv_controlW': parse.c:420: warning: implicit declaration of function 'ldap_parse_vlv_control' . . . ../../tools/winegcc/winegcc -B../../tools/winebuild -shared ./wldap32.spec add.o ber.o bind.o compare.o control.o delete.o dn.o error.o extended.o init.o main.o misc.o modify.o modrdn.o option.o page.o parse.o rename.o search.o value.o wldap32.res -o wldap32.dll.so -luser32 -lkernel32 -lldap_r -llber ../../libs/port/libwine_port.a parse.o: In function `ldap_parse_vlv_controlW': parse.c:(.text+0x260): undefined reference to `ldap_parse_vlv_control' parse.c:(.text+0x3e5): undefined reference to `ldap_parse_vlv_control' parse.o: In function `ldap_parse_sort_controlW': parse.c:(.text+0xa2c): undefined reference to `ldap_parse_sort_control' collect2: ld returned 1 exit status winegcc: gcc failed make[2]: *** [wldap32.dll.so] Error 2
Apparently the related API parts have changed in openldap-2.4 and the ldap_parse_vlv_control and ldap_parse_sort_control functions have been removed in favor of some slightly different code (i.e. they were not just renamed), so the wldap32 code needs to be adjusted a bit. As far as I can tell there is no way to disable using openldap, other than removing the related headers, so it is impossible to compile wine without manual Makefile/configfile editing.
Regards,
Theodoros Kalamatianos
http://bugs.winehq.org/show_bug.cgi?id=10320
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |blocker
--- Comment #1 from Vitaliy Margolen vitaliy@kievinfo.com 2007-11-05 13:51:43 --- This qualifies as a blocker.
http://bugs.winehq.org/show_bug.cgi?id=10320
Hans Leidekker hans@it.vu.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@it.vu.nl
--- Comment #2 from Hans Leidekker hans@it.vu.nl 2007-11-05 13:57:09 --- I'm on it.
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #3 from Hans Leidekker hans@it.vu.nl 2007-11-05 14:58:26 --- Created an attachment (id=8977) --> (http://bugs.winehq.org/attachment.cgi?id=8977) wldap32: Fix build against latest OpenLDAP release.
Try this patch.
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #4 from Hans Leidekker hans@it.vu.nl 2007-11-05 15:08:47 --- Note that the patch is against current git, so it may not apply to 0.9.48.
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2007-11-05 15:27:21 --- Has the library soname been changed correctly in all distros to reflect the incompatible change? Otherwise we'll need to load the function dynamically.
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #6 from Hans Leidekker hans@it.vu.nl 2007-11-06 03:36:22 --- OpenLDAP 2.4 was released about a week ago. Theodoros, which distro/version are you running?
http://bugs.winehq.org/show_bug.cgi?id=10320
Theodoros V. Kalamatianos nyb@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nyb@users.sourceforge.net
--- Comment #7 from Theodoros V. Kalamatianos nyb@users.sourceforge.net 2007-11-06 04:57:11 --- The patch applies cleanly against wine-0.9.48 and wine compiles fine now. I also tested it with some simple applications, but I don't know how to test the LDAP functionality. I was a bit surprised that the patch was so simple, but I guess wine does not use the multiple-response handling thing that openldap-2.3 could do with the old functions.
I use a Mandrake/Mandriva-based system, but after 450 source packages of my own it's not as recognisable as it used to be. openldap-2.4 was one of my own packages. I am thinking about migrating my user DB to LDAP and installed the latest version to avoid the possible issues of upgrading openldap just after the migration. The new opeldap version does have different library sonames, so there should be no issues there.
I really appreciate the lightning-fast resolution :-)
http://bugs.winehq.org/show_bug.cgi?id=10320
Hans Leidekker hans@it.vu.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #8977 is|0 |1 obsolete| |
--- Comment #8 from Hans Leidekker hans@it.vu.nl 2007-11-06 07:40:15 --- Created an attachment (id=8989) --> (http://bugs.winehq.org/attachment.cgi?id=8989) wldap32: Fix build against latest OpenLDAP release.
LDAP functionality. I was a bit surprised that the patch was so simple, but I guess wine does not use the multiple-response handling thing that openldap-2.3 could do with the old functions.
You are right, the API change is more than just a 64-bit compatibility fix. Here's an improved patch.
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #9 from Theodoros V. Kalamatianos nyb@users.sourceforge.net 2007-11-06 08:54:19 --- This patch compiles fine as well, but I'm afraid I can't test it either...
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #10 from Hans Leidekker hans@it.vu.nl 2007-11-07 02:55:21 --- Yeah, this dll really should have a testsuite. We need an LDAP testserver for it to be of any real value though. The one I used while writing this dll is not alive anymore but perhaps we could set one up at winehq.org?
http://bugs.winehq.org/show_bug.cgi?id=10320
--- Comment #11 from Kai Blin blin@gmx.net 2007-11-08 00:22:09 --- (In reply to comment #10)
Yeah, this dll really should have a testsuite. We need an LDAP testserver for it to be of any real value though. The one I used while writing this dll is not alive anymore but perhaps we could set one up at winehq.org?
I really need to get around to set up that Samba4 test environment. Samba4 also comes with an LDAP server. :)
I haven't been working on this much, as i'm currently in the process of moving. I'll put this on top of my Wine todo list, though.
http://bugs.winehq.org/show_bug.cgi?id=10320
Hans Leidekker hans@it.vu.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #12 from Hans Leidekker hans@it.vu.nl 2007-11-08 14:00:21 --- Patch was committed.
http://bugs.winehq.org/show_bug.cgi?id=10320
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Dan Kegel dank@kegel.com 2008-01-28 05:40:28 --- Closing all RESOLVED FIXED bugs older than four weeks.