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
[1] - Build MIT Kerberos on AIX system, http://dmdaa.wordpress.com/2010/07/11/build-mit-kerberos-on-aix-system/
[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