Fw: MIT krb5 1.12.1 configure fails on AIX 6.1 and 7.1

yaberger@ca.ibm.com yaberger at ca.ibm.com
Tue Jan 28 08:28:43 EST 2014

Hi Greg,

I've been able to build (but haven't tested its functionnality) krb5 with 
the following procedure.
A few issues encountered can probably be easily fixed on your side with 
minimal effort.

export PATH=$PATH:/usr/vac/bin:/usr/local/bison/bin
export LDFLAGS="$LDFLAGS -lm"
gzip -cd krb5-1.12.1.tar.gz |tar xf -
cd krb5-1.12.1/src
# bug1, the bug you've mentionned in our previous discussion
/usr/bin/perl -i -pe "s/aix5/aix[567]/" config/shlib.conf
# bug2, cc for IBM XL C/C++ doesn't like the inline. I've tried to export 
CC="c99" but other errors popped. I've also tried export 
CFLAGS="-qlanglvl=stdc99" and CFLAGS="-qlanglvl=stdc99 -qalias=ansi 
-qstrict_induction -D_ANSI_C_SOURCE -D_ISOC99_SOURCE" without success. If 
you have any other suggestion(s)
/usr/bin/perl -i -pe "s/inline //" util/support/json.c
# bug3, on AIX, struct token already exist in /usr/include/net/if_arp.h, 
therefore I would recommend to rename mit krb5 "struct token" in this 
source file to something else in a more elegant patch than my 4 next 
perl/sed ;)
/usr/bin/perl -i -pe "s/token /footoken /g" lib/krb5/os/expand_path.c
/usr/bin/perl -i -pe "s/token\[/footoken\[/g" lib/krb5/os/expand_path.c
/usr/bin/perl -i -pe "s/\*token,/*footoken,/g" lib/krb5/os/expand_path.c
/usr/bin/perl -i -pe "s/ token\)/footoken)/g" lib/krb5/os/expand_path.c
# bug 4, on AIX, getopt is defined in unistd.h and getopt.h does not exist
/usr/bin/perl -i -pe "s/^#include <getopt\.h>/#include <unistd.h>/" 
./configure --prefix=/usr/local/krb5-1.12.1 --disable-shared 

I'll be attempting to build it with --enable-shared and --disable-static 
but I'm facing linker issues I'm less familiar with for now.
Reverse with questions/comments

Best regards,

Yannick Bergeron
Advisory IT Specialist
----- Forwarded by Yannick Y Bergeron/Bromont/IBM on 01/28/2014 08:09 AM 

From:   Yannick Y Bergeron/Bromont/IBM
To:     Greg Hudson <ghudson at mit.edu>@IBMCA
Cc:     krbdev at mit.edu
Date:   01/27/2014 11:53 AM
Subject:        Re: MIT krb5 1.12.1 configure fails on AIX 6.1 and 7.1

Hi Greg,

The configure completed successfully with this modification on AIX 7.1 so 
I expect it to work on AIX 6.1
export PATH=$PATH:/usr/vac/bin
gzip -cd krb5-1.12.1.tar.gz |tar xf -
cd krb5-1.12.1/src
/usr/bin/perl -i -pe "s/aix5/aix[567]/" config/shlib.conf
./configure --prefix=/usr/local/krb5-1.12.1
Could you perform the modification in 1.12 (and maybe even 1.11) so that 
it would be included in the next release(s)?

I'll pursue my attempt to complete successfully the build/test/install.
I understand that AIX is not on your official supported platform list but 
as you stated, if it's possible to successfully build with only a few 
issues to be fixed, that could be worth the effort.

Best regards,

Yannick Bergeron
Advisory IT Specialist

From:   Greg Hudson <ghudson at mit.edu>
To:     Yannick Y Bergeron/Bromont/IBM at IBMCA, krbdev at mit.edu
Date:   01/27/2014 11:02 AM
Subject:        Re: MIT krb5 1.12.1 configure fails on AIX 6.1 and 7.1

On 01/27/2014 10:43 AM, yaberger at ca.ibm.com wrote:
> The same happens on AIX 6.1 TL8 SP3 with IBM XL C/C++
> AIX 5.3 TL12 SP8 with IBM XL C/C++ doesn't seem to have this 
> issue.

It looks like our src/config/shlib.conf recognizes AIX 4 and 5 but not 6
and 7.  The static library support in our build system is not
comprehensive enough to be used as an alternative to shared library 

It's possible that the AIX 5 support would also work for AIX 6 and 7, if
there haven't been any significant changes to linking semantics since
AIX 5.  So you could try replacing the "*-*-aix5*)" line with
"*-*-aix[567]*)".  Let us know if it works.

(AIX is not one of our supported platforms as listed in
<http://k5wiki.kerberos.org/wiki/Supported_platforms>, but we are
willing to make some kinds of changes to make krb5 work on it; this
would obviously be one of them.)

More information about the krbdev mailing list