[OpenAFS] a familiar problem compiling aklog?

edwin edwin@itasca.net
Mon, 12 Dec 2005 20:38:17 -0600 (CST)

Does Kerberos have to be installed for openAFS to compile?  Could you 
compile AFS and THEN compile Kerberos?
Perhaps you could temporarily rename the offending Kerberos libraries so 
that they are not an option, just when you build those particular make 
targets that require com_err?

Shouldn't linker configuration control which com_err library is found?
I could move the kerberos libraries to some directory at the end of the 
ld.so.conf list, at least temporarily, so that the afs ones get found 

If people think that hiding or moving the Kerberos libraries might work, 
I'll try it because I want to get openAFS running.
Obviously it's a temporary hack and not a real solution, and 
something has to change in openAFS to solve the problem.

Why not rename the AFS com_err library if it's unique, so as to avoid 
conflicting with the Kerberos one?  Kerberos is the more common of the 
two, so openAFS is the one that probably has to make a change to resolve 
the problem.


>>On Mon, 12 Dec 2005, Ken Hornstein wrote:

>> In file included from /usr/local/include/krb5.h:2550,
>>                  from aklog_main.c:62:
>> /sources/openafs-1.4.0/include/afs/com_err.h:15: error: parse error before
>> "afs_int32"
> I know about the problem; I don't know what to do about it.
> The basic problem is that OpenAFS & Kerberos 5 both provide com_err libraries
> and include files.  Most of the time this doesn't matter.  It _does_ matter
> when you have a program that wants to link from both sets of libraries ...
> like aklog.
> I tried fiddling around with compiler options and other things.  What I
> discovered is that one thing that works on some platforms makes things
> break when it is done on other platforms.  Even when you _do_ manage to
> compile aklog successfully, half of the time you get the "wrong" com_err
> library so most of the error messages end up reported as numbers instead
> of the error string.
> Something needs to be done so programs can be linked in a sane manner when
> linking both AFS and Kerberos libraries.  I don't know what that something
> is, though.
> --Ken