arla 0.33.1 compile error

Assar Westerlund assar at stacken.kth.se
Sat Jun 10 09:41:01 CEST 2000


Jack Neely <jjneely at eos.ncsu.edu> writes:
> >From config.log:
> configure:3979: checking for krb_get_default_tkt_root
> configure:3997: gcc -o conftest -g  -Wall -Wmissing-prototypes
> -Wpointer-arith - Wbad-function-cast -Wmissing-declarations -Wnested-externs
> -I/usr/athena/include conftest.c -L/usr/athena/lib -lkrb -ldes  1>&5
>    /tmp/cc98ysyL.o: In function `main':
>    /root/arla-0.33.1/configure:3993: undefined reference to
>    `krb_get_default_tkt_root'
>    collect2: ld returned 1 exit status
>    configure: failed program was:
>    #line 3990 "configure"
>    #include "confdefs.h"
>    #include <krb.h>
>    int main() {
>    krb_get_default_tkt_root();
>    ; return 0; }

That means that krb_get_default_tkt_root does not exist in
/usr/athena/lib/libkrb*

> From the compile of klog.c:
> gcc -c  -DHAVE_CONFIG_H -I. -I. -I./../.. -I./../../include -I./../lib
> -I../../include -I../../rxdef -I. -I/root/arla-0.33.1/xfs/linux
> -I./../../xfs/include -I./../../arlad -I./../../rxkad
> -I/usr/athena/include  -g  -Wall -Wmissing-prototypes -Wpointer-arith
> -Wbad-function-cast -Wmissing-declarations -Wnested-externs
> -I/usr/X11R6/include  klog.c
> klog.c: In function `get_afs_id':
> klog.c:192: warning: passing arg 4 of `arlalib_get_viceid_servers' from
> incompatible pointer type
> klog.c: At top level:
> klog.c:395: initializer element for `tktbasename[1]' is not constant

And that means that TKT_ROOT gets expanded to
krb_get_default_tkt_root() (from krb.h).

I think you have un-matched krb.h and libkrb.*.  Can you try
re-installing to make sure you have both files from the same kth-krb
distribution?  And then, can you grab the version number from both?
At the beginning of the krb.h there should be:

/*
 * $Id: krb.h,v 1.99 1999/11/16 14:02:47 bg Exp $
 *

And running `ident /usr/athena/lib/libkrb*' should give you (among
others) a line:

     $Id: defaults.c,v 1.3 1999/12/02 16:58:41 joda Exp $

Also try running `nm /usr/athena/lib/libkrb*' and verify that you have
(or not) a function krb_get_default_tkt_root there.  This is what I
get:

: datan$ ;nm /usr/athena/lib/libkrb.a | grep krb_get_default_tkt_root
00000000 T krb_get_default_tkt_root
         U krb_get_default_tkt_root

(the T line is the important one).

/assar





More information about the Arla-drinkers mailing list