Hi, I think the actual problem is that the binary provided by isc-dhcp-server-ldap actually lacks LDAP support due to a build logic error.
I've been hit by this problem myself (although on Ubuntu, but I think they use the same source) and I analyzed it and have a workaround (see attached patch). The root cause is an error in the build process, more specifically the debian/rules Makefile. First, the ldap flavour of the binary is built and moved to isc-dhcp-server-ldap/dhcpd. This works as expected, the resulting binary contains ldap symbols as expected. Then, the normal flavour is built. The binary is left in server/dhcpd (like in a vanilla build). Then, both of these steps are repeated again, and this is the actual problem. First, it's a useless step, second, it leads to the broken ldap binary as no make (dist)clean is invoked inbetween which makes "make" think that server/dhcpd is already the correct ldap binary (which it is not; it is a left-over from the first normal build); afterwards, the build process (debian/rules) overwrites the correct ldap binary in isc-dhcp-server-ldap/dhcpd with a vanilla binary. The normal flavour is "built" again as well, but this does not break anything. The problem is complex and the patch is trivial, but I don't know if it is correct. Works for me, but YMMV. The patch fixes this problem and probably reduces build time, as the process runs only twice instead of 4 times. The actual problem is that the "clean" target is invoked between builds, which also calls dh_clean, which in fact removes all the *stamp files, which usually avoid accidental duplicate builds. I've modified the build target to call "buildclean", which does the same thing as before, just without the dh_clean. I would also consider this bug report really severe, as it renders the given package completely unusuable and breaks existing setups. Kind regards, Christian
--- dhcpd.orig/isc-dhcp-4.2.4/debian/rules 2012-10-16 21:25:47.000000000 +0200 +++ dhcpd/isc-dhcp-4.2.4/debian/rules 2013-01-15 23:05:34.887169035 +0100 @@ -59,7 +59,7 @@ build: build-arch build-indep -build-arch: build-ldap-stamp clean build-non-ldap-stamp build-arch-stamp +build-arch: build-ldap-stamp buildclean build-non-ldap-stamp build-arch-stamp build-indep: build-arch-stamp: @@ -82,9 +82,8 @@ touch $@ -clean: +buildclean: dh_testdir - rm -f build*stamp install*stamp [ ! -f Makefile ] || $(MAKE) distclean rm -f Makefile client/Makefile config.log config.status @@ -92,6 +91,8 @@ build.log configure.log install.log debconf-updatepo + +clean: buildclean dh_clean install: install-stamp @@ -159,7 +160,7 @@ # Build architecture-dependent files here (this package does not contain # architecture-independent files). -binary-arch: build-arch install +binary-arch: build-ldap-stamp build-non-ldap-stamp build-arch-stamp install dh_testdir dh_testroot dh_installdebconf
signature.asc
Description: OpenPGP digital signature

