Compiling on AIX
prerequisites
- xlc and gcc both are reported to work
- It's strongly suggested to install the coreutils RPM and be sure /opt/freeware/bin/install is high in your PATH and found by APR configure for BSD-compatible install.
- covener believes this might solve failures to install DSO's.
- Building a recent autoconf, m4, libtool, and zlib (and maybe PCRE?) to some shared prefix doesn't hurt (e.g. $HOME/gnu)
- For something long forgotten, adding that prefix to your LIBPATH helps some stage of the build
- export PATH=$HOME/gnu/bin:/opt/freeware/bin:$PATH
export LIBPATH=$LIBPATH:$HOME/gnu/
- Setting CONFIG_SHELL=/usr/bin/bash can speed up ./configure significantly.
- Old tarballs with an old config.guess/config.sub require AIX 6.1 and later to impersonate AIX 5.3
- export ac_cv_build="powerpc-ibm-aix5.3.0.0"
- export ac_cv_build_alias="powerpc-ibm-aix5.3.0.0"
64-bit
- Set both OBJECT_MODE=64 and CC="xlc_r -q64"
Link errors with bundled expat and when using DESTDIR
- If you use a bundled expat, you might find the link of apr-util fails. The following change might help:
perl -p -i.orig -e \"s#[^ ]+libexpat.la#-L$curdir/srclib/apr-util/xml/expat/lib/ -lexpat#; s#[^ ]+libapr-1.la##;\" $PWD/srclib/apr-util/Makefile
AIX layout discussion
- /usr/local is not a normal area on AIX, instead...
- /opt/httpd for binaries and static files (to be a USR part of an installp package)
- /etc/httpd as base for config files, /var/httpd as base for data files, both areas as ROOT component of an installp package
- /usr/share/man for the man pages so that man httpd-foo works directly
- further build dependencies (lib and include files) install and-or sym link to /opt/lib and /opt/include OR set-use symlinks to /usr/lib and /usr/include from whereever they are actually installed (/opt is proposed as suggested install location
- intention is that using /opt, /var, /etc as directories will directly support system WPARs