Compiling arla 0.31+ with MIT KRB5

Steve Langasek vorlon at dodds.net
Wed Apr 19 13:55:05 CEST 2000


On 18 Apr 2000, Love wrote:

> > I notice that as of version 0.31, arla does not detect libk5crypto on my
> > system.  I am using the Kerberos packages included in RedHat 6.2, which 
> > are based on MIT Kerberos5 v1.1.1.  These packages install everything in
> > /usr/kerberos.

> Oh yeah, yet another place.

> > Shouldn't the check for k5crypto use the --with-krb5 path?  If not, what
> > is the appropriate way to tell configure where libk5crypto is installed?

> Now there is some extra clue that should make it work. I have only tried it
> with kth-krb4 and heimdal, but it should work.

> There is a new snapshot containing this change is avalible on
> <ftp://ftp.stacken.kth.se/pub/arla/snap/arla-ac.tar.gz>

> Can you please try it out and see it works for you ?

Now it works if I run
    ./configure --with-krbafs=/usr/kerberos 

...but if I try to specify a path using --with-krb5 or --with-krb4, it
breaks!  Surely this is not the intended behavior?

The problem is that it runs a different set of checks...

$ ./configure --with-krbafs=/usr/kerberos --with=krb4=/usr/kerberos --with-krb5=/usr/kerberos 
...
checking for k_hasafs... (cached) yes, in -lkrbafs
checking for struct msghdr... (cached) yes
checking for struct iovec... (cached) yes
checking for krb_principal... (cached) no
checking for krb_get_err_text... no
checking for krb_get_default_tkt_root... (cached) no
checking for krb_kdctimeofday... (cached) no
...

$ ./configure --with-krbafs=/usr/kerberos --with-krb4 --with-krb5
...
checking for kerberos5 libraries in ... no found
checking for kerberos5 libraries in /usr/heimdal/lib... no found
checking for kerberos5 libraries in /usr/athena/lib... no found
checking for kerberos5 libraries in /usr/kerberos/lib... found
checking for kerberos5 headers in ... no found
checking for kerberos5 headers in /usr/heimdal/include... no found
checking for kerberos5 headers in /usr/athena/include... no found
checking for kerberos5 headers in /usr/kerberos/include... found
checking for kerberos4 libraries in ... no found
checking for kerberos4 libraries in /usr/athena/lib... no found
checking for kerberos4 libraries in /usr/kerberos/lib... found
checking for kerberos4 headers in ... no found
checking for kerberos4 headers in /usr/athena/include... no found
checking for kerberos4 headers in /usr/kerberos/include... found
checking figuring out what way to use kerberos 5 compat... done
checking for k_hasafs... yes, in -lkrbafs
...

Shouldn't it use the same set of autoconf checks in both cases?
It works, but only if I'm not trying to be helpful.. hmm. :)

The next problem I find is that, even though it finds all of the libraries
and headers, the macro KERBEROS is not defined.

Here is a micropatch that would define KERBEROS when including KRB4
compatibility libraries from Kerberos 5:

--- cf/check-kerberos.m4.orig   Tue Apr 18 14:31:39 2000
+++ cf/check-kerberos.m4        Tue Apr 18 14:32:11 2000
@@ -282,6 +282,7 @@
   ifelse(-1,regexp($1,5),[
     ac_cv_found_krb5=no
     with_krb4=yes
+    AC_DEFINE(KERBEROS, 1, [define if you have kerberos])
     AC_DEFINE(HAVE_KRB5_COMPAT_KRB4, 1, [define if you have kerberos 4 compat])
     AC_DEFINE(HAVE_KRB4, 1, [define if you have kerberos 4])
   ],[


However, this will never be invoked because of the way AC_CHECK_KERBEROS
is called in configure.in.  I'm not sure what the proper way to fix this
is?

Regards,
Steve Langasek
postmodern programmer





More information about the Arla-drinkers mailing list