[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Heimdal and OpenLDAP on OpenBSD-3.1



I'd like to use heimdal and ldap on openbsd-3.1-current. After building 
the OpenLDAP port, I found that rebuilding the heimdal install with the 
ldap option enabled is necessary.

I originally attempted to rebuild from /usr/ports/security/heimdal 
(commenting COMES_WITH and adding '--with-ldap=/usr/local' in the 
Makefile), and the heimdal-0.4e build subsequently complains with:

[snip ...'Making all in {kadm5,lib,roken,vers,editline,sl,asnl}']

Making all in krb5
cc -DHAVE_CONFIG_H -I. 
-I/usr/ports/security/heimdal/w-heimdal-0.4e/heimdal-0.4e/lib/krb5 
-I../../include -I../../include -I../../lib/roken 
-I/usr/ports/security/heimdal/w-heimdal-0.4e/heimdal-0.4e/lib/roken 
-I/usr/include/kerberosIV -I../com_err 
-I/usr/ports/security/heimdal/w-heimdal-0.4e/heimdal-0.4e/lib/krb5/../com_err 
-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast 
-Wmissing-declarations -Wnested-externs -DINET6 -O2 -c 
/usr/ports/security/heimdal/w-heimdal-0.4e/heimdal-0.4e/lib/krb5/log.c 
-fPIC -DPIC -o log.o
/usr/ports/security/heimdal/w-heimdal-0.4e/heimdal-0.4e/lib/krb5/log.c:160: 
redefinition of `struct syslog_data'
*** Error code 1

[snip..]

Incidentally, I get the same error when building straight from the src 
tarball off of the heimdal site.

I then wised up a bit and attempted to build from /usr/src/kerberosV, 
although I'm not sure if I correctly enabled ldap. I edited 
/usr/src/kerberosV/include/config.h by adding '#define OPENLDAP' as well 
as /usr/src/kerberosV/lib/src/include/config.h, uncommenting and 
defining the same line. I then did the following:

[snip...]

nchriss# cd src
nchriss# pwd
/usr/src/kerberosV/src
nchriss# sh -x ./configure --with-openldap=/usr/local
nchriss# cd ..
nchriss# make

[snip]

After fixing a complaint about /usr/kerberosV/lib/roken (just building 
the dependency by hand), the stock kerberosV build complains:

[snip...]

cc   -o kdc 524.o config.o connect.o kaserver.o kerberos4.o kerberos5.o 
log.o main.o misc.o -lhdb -lkrb5 -lkrb -ldes -L../../lib/roken -lroken 
-lasn1 -lcrypto -lcom_err -lkafs -lutil
hdb.o: Undefined symbol `_hdb_ldap_create' referenced from data segment
collect2: ld returned 1 exit status
*** Error code 1

Stop in /usr/src/kerberosV/libexec/kdc (line 101 of 
/usr/share/mk/bsd.prog.mk).
*** Error code 1

[snip]


I have a feeling I'm not enabling ldap correctly, but I'm not sure 
exactly where I'd do it. Navigating the source has proved confusing and 
I haven't come up with any better solutions besides making manual edits. 
Is there generally an easier (re: more correct) way of enabling these 
options? I get the feeling I'm taking the boneheaded route. Particularly 
in the ports angle, the ldap option wasn't provided as a 'flavor'. Any 
suggestions on getting the ldap option to work?

-nchriss