Hallo an alle,
ich möchte gerne den bind so patchen, das ich ldap zur Namensauflösung verwenden kann, nun habe ich damit aber ein kleines Problem bei dem entsprechenden patch ist ein gute INSTALL dabei, aber einen Teil verstehe ich nicht. Vielleicht könnt ihr mir helfen. Hier mal ein Ausschnitt aus dem INSTALL:
Alle anderen Stellen habe ich genau so ergänzt. Jetzt kommt der Punkt den ich nicht verstehe:
Aber den letzten Teil mit den einträgen zu DBDRIVERS_INCLUDES und DBDRIVERS_LIBS den verstehe ich nicht :-(
Vielleicht kann mir ja von euch jemand helfen. Hier mal der komplette Makefile.in, schon mit den ersten Änderungen:
Folgende Fehler (nur ein Auszug) kommen bei "make"
Vielleicht kann mir da ja jemand von euch weiterhelfen.
Danke schon mal
Stefan
ich möchte gerne den bind so patchen, das ich ldap zur Namensauflösung verwenden kann, nun habe ich damit aber ein kleines Problem bei dem entsprechenden patch ist ein gute INSTALL dabei, aber einen Teil verstehe ich nicht. Vielleicht könnt ihr mir helfen. Hier mal ein Ausschnitt aus dem INSTALL:
Das klappt ;-)) wir auch vom Compiler erkannt.Copy ldapdb.c to bin/named and ldapdb.h to bin/named/include in the
source tree.
Auch das habe ich gemacht siehe den Ausschnitt aus der main.cyou need to edit bin/named/main.c. Below where it says
"#include "xxdb.h"", add the line "#include <ldapdb.h>". Below where
it says "xxdb_init();" add the line "ldapdb_init();", and finally
below where it says "xxdb_clear();", add "ldapdb_clear();".
Code:
*/
/* xxdb_init(); */
ldapdb_init();
Also die ersten beide Einträge ldapdb@O@ und ldapdb.c habe ich gemacht, auch an der Richtigen Stelle, hoffe ich ;-)Next alter bin/named/Makefile.in. Add ldapdb.@O@ to DBDRIVER_OBJS and
ldapdb.c to DBDRIVER_SRCS. You also need to add something like
-I/usr/local/include to DBDRIVER_INCLUDES and
-L/usr/local/lib -lldap -llber -lresolv to DBDRIVER_LIBS
depending on what LDAP library you have and where you installed it.
Aber den letzten Teil mit den einträgen zu DBDRIVERS_INCLUDES und DBDRIVERS_LIBS den verstehe ich nicht :-(
Vielleicht kann mir ja von euch jemand helfen. Hier mal der komplette Makefile.in, schon mit den ersten Änderungen:
Code:
srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
#
# Add database drivers here.
#
DBDRIVER_OBJS =
DBDRIVER_SRCS =
DBDRIVER_INCLUDES =
DBDRIVER_LIBS =
CINCLUDES = -I${srcdir}/include -I${srcdir}/unix/include \
${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
${ISCCFG_INCLUDES} ${ISCCC_INCLUDES} ${ISC_INCLUDES} \
${DBDRIVER_INCLUDES}
CDEFINES =
CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCLIBS = ../../lib/isccc/libisccc.@A@
ISCLIBS = ../../lib/isc/libisc.@A@
LWRESLIBS = ../../lib/lwres/liblwres.@A@
BIND9LIBS = ../../lib/bind9/libbind9.@A@
DNSDEPLIBS = ../../lib/dns/libdns.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCDEPLIBS = ../../lib/isccc/libisccc.@A@
ISCDEPLIBS = ../../lib/isc/libisc.@A@
LWRESDEPLIBS = ../../lib/lwres/liblwres.@A@
BIND9DEPLIBS = ../../lib/bind9/libbind9.@A@
DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \
${ISCCFGDEPLIBS} ${ISCCCDEPLIBS} ${ISCDEPLIBS}
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
SUBDIRS = unix
TARGETS = named@EXEEXT@ lwresd@EXEEXT@
OBJS = aclconf.@O@ builtin.@O@ client.@O@ config.@O@ control.@O@ \
controlconf.@O@ interfacemgr.@O@ \
listenlist.@O@ log.@O@ logconf.@O@ main.@O@ notify.@O@ \
query.@O@ server.@O@ sortlist.@O@ \
tkeyconf.@O@ tsigconf.@O@ update.@O@ xfrout.@O@ \
zoneconf.@O@ \
lwaddr.@O@ lwresd.@O@ lwdclient.@O@ lwderror.@O@ lwdgabn.@O@ \
lwdgnba.@O@ lwdgrbn.@O@ lwdnoop.@O@ lwsearch.@O@ ldapdb.@O@\
$(DBDRIVER_OBJS)
UOBJS = unix/os.@O@
SRCS = aclconf.c builtin.c client.c config.c control.c \
controlconf.c interfacemgr.c \
listenlist.c log.c logconf.c main.c notify.c \
query.c server.c sortlist.c \
tkeyconf.c tsigconf.c update.c xfrout.c \
zoneconf.c \
lwaddr.c lwresd.c lwdclient.c lwderror.c lwdgabn.c \
lwdgnba.c lwdgrbn.c lwdnoop.c lwsearch.c ldapdb.c \
$(DBDRIVER_SRCS)
MANPAGES = named.8 lwresd.8 named.conf.5
HTMLPAGES = named.html lwresd.html named.conf.html
MANOBJS = ${MANPAGES} ${HTMLPAGES}
@BIND9_MAKE_RULES@
main.@O@: main.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
config.@O@: config.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-c ${srcdir}/config.c
named@EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
${OBJS} ${UOBJS} ${LIBS}
lwresd@EXEEXT@: named@EXEEXT@
rm -f lwresd@EXEEXT@
@LN@ named@EXEEXT@ lwresd@EXEEXT@
doc man:: ${MANOBJS}
docclean manclean maintainer-clean::
rm -f ${MANOBJS}
clean distclean maintainer-clean::
rm -f ${TARGETS} ${OBJS}
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${sbindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
install:: named@EXEEXT@ lwresd@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir}
(cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@)
${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5
Code:
gcc -g -O2 -o named \
aclconf.o builtin.o client.o config.o control.o controlconf.o interfacemgr.o listenlist.o log.o logconf.o main.o notify.o query.o server.o sortlist.o tkeyconf.o tsigconf.o update.o xfrout.ozoneconf.o lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o ldapdb.o unix/os.o ../../lib/lwres/liblwres.a ../../lib/dns/libdns.a -lcrypto ../../lib/bind9/libbind9.a ../../lib/isccfg/libisccfg.a ../../lib/isccc/libisccc.a ../../lib/isc/libisc.a -lnsl
ldapdb.o(.text+0x258): In function `ldapdb_getconn':
/root/bind-neu/bind-9.3.1/bin/named/ldapdb.c:138: undefined reference to `ldap_unbind'
ldapdb.o(.text+0x2c6): In function `ldapdb_bind':
/root/bind-neu/bind-9.3.1/bin/named/ldapdb.c:200: undefined reference to `ldap_open'
ldapdb.o(.text+0x2e5):/root/bind-neu/bind-9.3.1/bin/named/ldapdb.c:199: undefined reference to`ldap_unbind'
ldapdb.o(.text+0x2f7):/root/bind-neu/bind-9.3.1/bin/named/ldapdb.c:200: undefined reference to`ldap_open'
ldapdb.o(.text+0x30f):/root/bind-neu/bind-9.3.1/bin/named/ldapdb.c:205: undefined reference to`ldap_set_option'
Danke schon mal
Stefan