Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change 
notification.

The "AIXPlatform" page has been changed by MichaelFelt:
https://wiki.apache.org/httpd/AIXPlatform?action=diff&rev1=15&rev2=16

Comment:
added links to build scripts

  = Compiling on AIX =
- 
  == creating an installp package ==
+ The latest version 2.2 and 2.4 distributions include a directory ./build/aix 
with scripts that will create an installp package. This approach expects you to 
also download and package the APR and APR-UTIL packages in advance. 
Unfortunately, the build/aix scripts are not yet included in the APR downloads. 
They are available at http://dl.aixtools.net/httpd/apr-buildaix-1.5.x.tar and 
http://dl.aixtools.net/httpd/apr-util-buildaix-1.5.x.tar
- The latest version 2.2 and 2.4 distributions include a directory ./build/aix 
with scripts that will create an installp package. This approach expects you to 
also download and package the APR and APR-UTIL packages in advance.
- Unfortunately, the build/aix scripts are not yet included in the APR 
downloads. They are available at **LINK WILL FOLLOW**
  
  === Preparations ===
- 
  Preparations: see ''prerequisites'' below as well. One goal of these scripts 
is to prevent the need for mixing RPM's from other sources (e.g., perlz and/or 
AIX Toolbox). Mixing libraries will sometimes break things when updates are 
applied. In short, as much as possible - "generic" BOS AIX is used. To prevent 
filename collisions /opt/freeware and /usr/local are not used. Likewise, 
/usr/lib is not intended as a target directory. (Note: the build/aix scripts 
check for the existence of zlib include files and setup links in when they are 
missing in the places where ./configure expects them (e.g., /usr/include) - so 
that you do not need to install a so-called development RPM. These files are 
available - just not where configure looks).
  
  The build/aix (inspired by build/pkg) scripts also refer to a new layout in 
./config.layout -- AIX. There is a discussion about this layout below.
  
+ NEEDED: * coreutils (for the install to DESTDIR - 
/var/tmp/root/httpd-version). I can wish otherwise, but apr expects a behavior 
that only GNU/coreutils install has - both /usr/bin/install and 
/usr/ucb/install fail during the install to a DESTDIR. (This means if you only 
want to use "make install" rather than mkinstallp.ksh you can skip installing 
coreutils). * bos.adt.insttools : this is the fileset that includes the AIX 
script mkinstallp which is needed by build/aix/mkinstallp.ksh (FYI: 
mkinstallp.ksh automates creating the template mkinstallp needs)
- NEEDED:
- * coreutils (for the install to DESTDIR - /var/tmp/root/httpd-version). I can 
wish otherwise, but apr expects a behavior that only GNU/coreutils install has 
- both /usr/bin/install and /usr/ucb/install fail during the install to a 
DESTDIR.
- (This means if you only want to use "make install" rather than mkinstallp.ksh 
you can skip installing coreutils).
- * bos.adt.insttools : this is the fileset that includes the AIX script 
mkinstallp which is needed by build/aix/mkinstallp.ksh (FYI: mkinstallp.ksh 
automates creating the template mkinstallp needs)
  
  RECOMMENDED: add /opt/bin to your PATH as first argument. This is the area 
where the buildaix (available via sourceforge or at aixtools) and build/aix/* 
scripts put binaries and scripts.
  
  === Step by Step ===
+ For both versions 2.2 and 2.4 APR and APR-UTIL are needed. So the first step 
is to download both, and the APR build/aix scripts listed above (until they (I 
hope) appear in the distributions).
  
- For both versions 2.2 and 2.4 APR and APR-UTIL are needed. So the first step 
is to download both, and the APR build/aix scripts listed above (until they (I 
hope) appear in the distributions).
  {{{
   # build/aix/buildaix.ksh
   # installp -d build/aix all
  }}}
  This will create the ASF.apr-vac.rte and ASF.apu-vac.rte and install them in 
/opt/bin (When using gcc these will be named ASF.apr-gcc.rte and 
ASF-apu-gcc.rte. APR and APR-UTIL are dependent on the compiler used. The 
different fileset names helps to identify which compiler is supported. The 
files installed have the same name and position.
  
- You are almost ready to build HTTPD. For version 2.4 you must have pcre 
somewhere. You can build this yourself, but easier may be to use a prepackaged 
one, e.g. from aixtools 
(http://dl.aixtools.net/httpd/aixtools.pcre.powerpc.8.30.0.I).
+ You are almost ready to build HTTPD. For version 2.4 you must have pcre 
somewhere. You can build this yourself, but easier may be to use a prepackaged 
one, e.g. from aixtools 
(http://dl.aixtools.net/httpd/aixtools.pcre.powerpc.8.30.0.I). If all is ready 
then all you should need is:
- If all is ready then all you should need is:
+ 
  {{{
   # build/aix/buildaix.ksh
   # installp -d build/aix all
@@ -42, +36 @@

  
  === configure returns an error ===
  My favorite command when that happens is:
+ 
  {{{
   # grep configure: config.log | tail
  }}}
  Note also, build/aix/buildaix accepts additional arguments for configure, for 
example to disable FEATURE use
+ 
  {{{
   # build/aix/buildaix.ksh  --disable-FEATURE
  }}}
  == 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.
@@ -84, +79 @@

  
  == 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''
+   * ''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 ==
- 
  With the latest distributions there is a layout for AIX in config.layout to 
assist with standardization of packaging on AIX.
  
  The goals:
+ 
   * man pages in /usr/share/man/...
   * read only, system independent files in /opt/httpd/...
   * system dependent files in /var/httpd/...
   * no files in /usr - except for man pages
  
  so:
+ 
   * no files in /usr/local
   * httpd is used as directory name rather than apache2
   * /opt/httpd for binaries and static files (to be a USR part of an installp 
package)
@@ -110, +106 @@

  
  == Testing on AIX ==
  To test httpd functionality you need (per 2014-08-06) at least perl v5.10 in 
order to add the needed modules and modules. So, using standard AIX provided 
perl you must test on AIX 7.1 as AIX 5.3 has perl v5.8.2 and AIX 6.1 has perl 
v5.8.8.
+ 
  === basic process ===
   * Have apache httpd installed and configured normally (e.g. ServerName is 
defined, or you will get a warned about this for EVERY test)
+ 
  {{{ svn checkout  http://svn.apache.org/repos/asf/httpd/test/framework/trunk 
./test }}}
  
+ This should also download ApacheTest, if not use something like: {{{ svn 
checkout  http://svn.apache.org/repos/asf/perl/Apache-Test/trunk 
./test/Apache-Test }}}
- This should also download ApacheTest, if not use something like:
- {{{ svn checkout  http://svn.apache.org/repos/asf/perl/Apache-Test/trunk 
./test/Apache-Test }}}
  
- Now make sure your perl is current and load the bundle ApacheTest. This may 
take some trials - and time.
+ Now make sure your perl is current and load the bundle ApacheTest. This may 
take some trials - and time. {{{ perl -MCPAN -e 'install Bundle::ApacheTest' }}}
- {{{ perl -MCPAN -e 'install Bundle::ApacheTest' }}}
  
  With the basics up and ready.
+ 
  {{{
   # su testuser
   % find /opt/httpd -name apxs

---------------------------------------------------------------------
To unsubscribe, e-mail: docs-unsubscr...@httpd.apache.org
For additional commands, e-mail: docs-h...@httpd.apache.org

Reply via email to