Issues Building mod_auth_kerb 5.4 on AIX 6.1

Overview

I originally published this article back in May 2012 as a (rather length) post.  Moving it to a page to save for posterity.

Earlier this week, I went through the world of pain of building mod_auth_kerb 5.4 on AIX 6.1.  I say it was bad, but have to admit that my AIX skills are somewhat rusty (when I last used AIX in anger it was 4.1 back in 1996).  However, in comparison to carrying out similar tasks on just about any Linux platform, there is a paucity of useful information on the web from people or establishments attempting to do this.  Very often we would find instances of someone attempting to do the same thing as we were.  Mainly they received no reply to their queries or the answers that they received were very badly wrong.  In the light of this, a couple of my colleagues (MC & CJ) suggested that I post my [slightly edited] findings onto the Web.  Here they are with my angry and frustrated rantings removed and I hope someone finds them useful.

In short, one needs to also build the MIT version of Kerberos (in addition to any AIX supplied version) and also a specific version of Bison (1.30).

In all instances of the software, the build cycle follows the configure/make/make install process.  Specifically when running the configure steps, use the following [1]:

CC=xlc CFLAGS=-brtl ./configure 
... 
make 
... 
make install

Which will install stuff under /usr/local.

Bison 1.30


Bison is the GNU parser generator [2] and it is used to assist Kerberos build the command line interface (CLI) for the kadmin utility.  The version of bison (1.875) that can be installed from the IBM distribution media fails during the build with the following error:

src/kadmin/cli/getdate.y: conflicts: 4 shift/reduce

Research on the web [3] suggested that versions prior to 1.30 worked OK.  We tried 1.29 but this gave an identical error message.  More through desperate levels of try anything and a bit of luck, we downloaded and installed 1.30 into /usr/local and this allows the build the krb5 package to build.

MIT Kerberos5 1.8.2


We tried building both the latest version (1.10.1) and the same version as running on AIX (1.5) however neither of these build.  We eventually chose 1.8.2 as someone already had experience of building that OK [1].  This can be downloaded from MIT [4].  The distribution needs a bit of massaging as this version of KRB5 was developed for AIX 4 and 5, not 6.  So edit src/config/shlib.conf line 457 and remove the digit 5 so that the line reads [5]:

*-*-aix*)

You should be able to then use the same configuration arguments as specified in the overview section.

mod_auth_kerb 5.4


Download from SourceForge [6] and then comment out the #ident (line 45) of src/mod_auth_kerb.c as the AIX C compiler doesn't recognise that directive.  Then configure and build the software as follows:

CC=xlc CFLAGS=-brtl ./configure --with-krb5=/usr/local 
... 
make 
... 
make install

Base Installation

The OS and SDK versions that were installed on the build node are below.

Versions of the SDK


[root@kryten:/software/mod_auth_kerb-5.4] # lslpp -l "vacpp*" 
  Fileset                      Level  State      Description 
  ---------------------------------------------------------------------------- 
Path: /usr/lib/objrepos 
  vacpp.Bnd                 11.1.0.1  COMMITTED  IBM XL C/C++ Media Defined 
                                                 Bundles 
  vacpp.cmp.aix50.lib 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.cmp.aix50.tools 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.cmp.aix52.lib 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.cmp.aix52.tools 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.cmp.aix53.lib       11.1.0.1  COMMITTED  IBM XL C/C++ Libraries for AIX 
                                                 5.3 
  vacpp.cmp.aix53.tools     11.1.0.1  COMMITTED  IBM XL C/C++ Tools for AIX 5.3 
  vacpp.cmp.core            11.1.0.1  COMMITTED  IBM XL C/C++ Compiler 
  vacpp.cmp.include         11.1.0.1  COMMITTED  IBM XL C/C++ Compiler Include 
                                                 Files 
  vacpp.cmp.lib             11.1.0.1  COMMITTED  IBM XL C/C++ Libraries 
  vacpp.cmp.rte             11.1.0.1  COMMITTED  IBM XL C/C++ Compiler 
                                                 Application Runtime 
  vacpp.cmp.tools           11.1.0.1  COMMITTED  IBM XL C/C++ Tools 
  vacpp.html.common         11.1.0.1  COMMITTED  Supersede entry, not installed 
  vacpp.html.en_US          11.1.0.1  COMMITTED  Supersede entry, not installed 
  vacpp.html.ja_JP          11.1.0.1  COMMITTED  Supersede entry, not installed 
  vacpp.html.zh_CN          11.1.0.1  COMMITTED  Supersede entry, not installed 
  vacpp.man.Ja_JP           11.1.0.1  COMMITTED  IBM XL C/C++ Compiler Man 
                                                 Pages--Japanese Ja_JP 
  vacpp.man.en_US           11.1.0.1  COMMITTED  IBM XL C/C++ Compiler Man 
                                                 Pages--U.S. English 
  vacpp.memdbg.aix50.lib 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.memdbg.aix50.rte 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.memdbg.aix52.lib 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.memdbg.aix52.rte 
                     99.99.9999.9999  COMMITTED  Supersede entry, not installed 
  vacpp.memdbg.aix53.lib    11.1.0.1  COMMITTED  IBM XL C/C++ User Heap/Memory 
                                                 Debug AIX 5.3 Libraries 
  vacpp.memdbg.aix53.rte    11.1.0.1  COMMITTED  IBM XL C/C++ User Heap/Memory 
                                                 Debug AIX 5.3 Runtime 
  vacpp.memdbg.lib          11.1.0.1  COMMITTED  IBM XL C/C++ User Heap and 
                                                 Memory Debug Static Libraries 
  vacpp.memdbg.rte          11.1.0.1  COMMITTED  IBM XL C/C++ User Heap and 
                                                 Memory Debug Runtime 
  vacpp.msg.Ja_JP.cmp.core  11.1.0.1  COMMITTED  IBM XL C/C++ Compiler 
                                                 Messages--Japanese 
  vacpp.msg.Ja_JP.cmp.tools 
                            11.1.0.1  COMMITTED  IBM XL C/C++ Tools 
                                                 Messages--Japanese 
  vacpp.msg.en_US.cmp.core  11.1.0.1  COMMITTED  IBM XL C/C++ Compiler 
                                                 Messages--U.S. English 
  vacpp.msg.en_US.cmp.tools 
                            11.1.0.1  COMMITTED  IBM XL C/C++ Tools 
                                                 Messages--U.S. English 
  vacpp.ndi                 11.1.0.1  COMMITTED  IBM XL C/C++ Non-Default 
                                                 Installation Script 
  vacpp.pdf.en_US           11.1.0.1  COMMITTED  IBM XL C/C++ Documentation 
                                                 (PDF)--U.S. English 
  vacpp.pdf.ja_JP           11.1.0.1  COMMITTED  IBM XL C/C++ Documentation 
                                                 (PDF)--Japanese 
  vacpp.samples.ansicl      11.1.0.1  COMMITTED  IBM XL C/C++ Compiler ANSI 
                                                 CLass Library Samples 
  vacpp.tnb                 11.1.0.1  COMMITTED  IBM XL C/C++ Evaluation 
                                                 Licence Files

Path: /etc/objrepos 
  vacpp.cmp.core            11.1.0.1  COMMITTED  IBM XL C/C++ Compiler 
  vacpp.tnb                 11.1.0.1  COMMITTED  IBM XL C/C++ Evaluation 
                                                 Licence Files

Version of AIX


[root@kryten:/usr/local] # oslevel -r 
6100-06

References


[2] - Bison - GNU parser generator, http://www.gnu.org/software/bison/ 

[3] - Error making krb5-1.5.1 on AIX 5.3 TL 5 - Kerberos, http://fixunix.com/kerberos/60728-error-making-krb5-1-5-1-aix-5-3-tl-5-a.html

[4] - Kerberos: The Network Authentication Protocol, http://web.mit.edu/kerberos

[5] - pthreads/dlopen issue when building krb-1.6.3 on AIX 6.1?, http://groups.google.com/group/comp.protocols.kerberos/msg/5069dd937c2e43ca

[6] - Kerberos Module for Apache, http://modauthkerb.sourceforge.net

No comments:

Post a Comment

New Blog Layout

I had two rather length posts on this blog, I have migrated them to pages for now and in future, posts will link to new content that has bee...