Partial success compiling PHP 5.3.13 with Apache 2.4.2
Compile Environment:
export CC="xlc -q64 -qlangval=extc99"
export LD=ld
export LDFLAGS="-L/opt/freeware/lib"
export OBJECT_MODE=64
export CC="xlc -q64 -qlangval=extc99"
export LD=ld
export LDFLAGS="-L/opt/freeware/lib"
export OBJECT_MODE=64
edit Makefile, search for line with php.sym, remove the '#! .'
"make" is successful
"make test" produces test that either report SKIP or FAIL.  Majority FAIL.
Why all the failed tests?

From: Michael Felt []
Sent: Thursday, June 14, 2012 5:38 PM
Subject: Re: [users@httpd] Compiling/Installing httpd 2.4.2 on AIX 6.1 with gcc/g++

I have gotten it to compile (5.3.14) - and what I needed to add for the IBM compiler was -qlangval=extc99 so that it would accept c++ like comments (starting with //)

The other problem I have, and it is an "old" one, is that the AIX make (or maybe the ksh) does not execute the $(BUILD_CLI) argument to build sapi/cli/php. After editing Makefile, and making sure that "#! ." is not the first line of php.sym it completes building.

Anyway, now I need to try a default to "add everything" and see what extras need to be built. And also try 5.4.4

On Thu, Jun 14, 2012 at 7:30 PM, Brian Gaber <> wrote:
I was getting errors with sqlite also so I added these two configure directives:
This got me past the sqlite problem.

From: Michael Felt []
Sent: Thursday, June 14, 2012 11:52 AM

Subject: Re: [users@httpd] Compiling/Installing httpd 2.4.2 on AIX 6.1 with gcc/g++

Now I need to see if I actually put everything needed in ./build/aix/README for httpd.

Starting point for me is: use neither /usr(/local) nor /opt/freeware (as I am trying to be independent of "old" RPM's). A secondary goal is that the installp packages built are suitable for installation in WPAR (hosting) environments.

Next - I started with a clean installation (AIX 5.3 TL7 first, working mainly with AIX 6.1 now) and "added" things as needed.

For zlib - what is needed is to copy zlib.h, and I think there is another zlib related include file as well. -- copy to /usr/include, or /opt/include

For apr and apr-util I added build/aix/* files - I'll send copies if you like. An independent tester who finds them sucessful may help get them accepted to apr and apr-util trunks.

For the other packages that are needed - I wrote a buildaix package that you can download via

If you add /opt/bin to your PATH the command /opt/bin/buildaix will run the ./configure command with some defaults - basically - prefix is /opt, mandir=/usr/share/man, and confdir is /etc (and another one is /var, I forget it's name atm).

I choose /opt as, imho, a better generic prefix for AIX - where /usr/local just seems to create problems. (Idea: a symbolic link of /usr/local -> /opt might fix a lot of things that break with "./configure" commands that only look at /usr and /usr/local by default - but this is an aside".

Summary: drop /usr/local as prefix, stop using old RPM (or any RPM if possible) - instead

download and build fresh using buildaix -- /opt, /etc, /var and /usr/share/man as default destinations

For httpd: customized version of build/aix/* for apr-util in any case (buildaix could be used for apr, but I have a seperate set of files for that package as well)

So, e.g., coreutils I built and installed using buildaix, same for pcre and any other required external package.

Thus, with php, I started with buildaix.

libxml2 was missing so the basic step was:
installp -d . aixtools.libxml2.rte
aixtools.libxml2.rte         USR         APPLY       SUCCESS   

Added /opt to list of directories to search in configure to look for xml2-config
LINE 21865

And configure completes.

I also got an Syntax errors with embedded sqlite so I compiled an external version. However, php continues to try to compile that.

Maybe you can help me beyond this point:

michael@x054:[/data/prj/php-5.3.13]cat php_configure.ksh

set -x

./configure \
        --prefix=/opt \
        --sysconfdir=/etc \
        --mandir=/usr/share/man \
        --with-libdir=/opt/lib \
        --with-sqlite3=/opt \
                > build/aix/configure.out

Now that configure has finished (there is a makefile) I can use buildaix again (it skips the ./configure step if it sees a Makefile)

NAME: php
/usr/bin/buildaix: using existing Makefile
/usr/bin/buildaix: run make distclean to get a standard AIX configure

-rw-r--r-- 1 root    system 127516 Jun 14 00:44 ./Makefile
-rw-r--r-- 1 root    system  17721 Jun 14 00:44 config.cache
-rw------- 1 michael staff   44892 May  8 11:22 config.guess
-rw-r--r-- 1 root    system  47234 Jun 14 00:45 config.log
-rwxr-xr-x 1 root    system    177 Jun 14 00:42 config.nice
-rwxr-xr-x 1 root    system  91276 Jun 14 00:44 config.status
-rw------- 1 michael staff   33387 May  8 11:22 config.sub

+ make > build/aix/make.out
"/data/prj/php-5.3.13/ext/sqlite3/sqlite3.c", line 893.9: 1506-046 (S) Syntax error.
"/data/prj/php-5.3.13/ext/sqlite3/sqlite3.c", line 894.41: 1506-045 (S) Undeclared identifier i.
"/data/prj/php-5.3.13/ext/sqlite3/sqlite3.c", line 894.51: 1506-277 (S) Syntax error: possible missing ';' or ','?
"/data/prj/php-5.3.13/ext/sqlite3/sqlite3.c", line 894.65: 1506-045 (S) Undeclared identifier or.
make: 1254-004 The error code from the last command is 1.


I hope this is not too lengthy - but I am anxious/curious about what I am doing wrong - that make continues to try to compile the embedded sqlite when it has an external one.

On Thu, Jun 14, 2012 at 3:03 PM, Brian Gaber <> wrote:
    Here is the configure that I used:
./configure --with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/local/mysql \
--with-libxml-dir=/opt/freeware \

From: Michael Felt []
Sent: Wednesday, June 13, 2012 3:58 PM

Subject: Re: [users@httpd] Compiling/Installing httpd 2.4.2 on AIX 6.1 with gcc/g++

started with php build. 1st real error is a syntax error in the embedded sqlite.

After building an external version of sqlite (3.6.22 was the last one I had downloaded, haven not looked for a new one) I am stopping for the night. Will keep posted.

Question: what are the minimum modules (e.g. gd, jpeg, etc. that need to be included. By default most of these are not
being found. my approach will be to get php tp compile with minimal arguments to ./configure and then add extra statements as needed.


On Wed, Jun 13, 2012 at 7:45 PM, Michael Felt <> wrote:
forgot to mention: no have not tried to compile php against 2.4.x yet. Will setup a test machine soon to try.

On Wed, Jun 13, 2012 at 7:44 PM, Michael Felt <> wrote:
I had tested httpd with xlCv7 and xlCv11 and gcc 4.6.2.

The important thing I noticed is that if you compile apr with gcc you must compile httpd with gcc as well, and v.v.
Noone noticed when they were "bundled" I expect.

I also have a buildaix.ksh for both apr and apr-util, but I do not know if those have made it into trunk yet. I can send them seperately if interested. With apr and apr-util separate the httpd config and build goes much faster.

On Wed, Jun 13, 2012 at 3:16 PM, Brian Gaber <> wrote:
    I will try your buildaix.ksh script.  I have been using IBM's compiler (xlc, cc_r, cc).
    On related question, Have you successfully compiled PHP against Apache 2.4.2?  I have not.  I have tried PHP 5.2, 5.3 and 5.4 and all fail at some point.  Against Apache 2.2.x I have not problem compiling PHP.

From: Michael Felt []
Sent: Tuesday, June 12, 2012 5:17 PM
Subject: Re: [users@httpd] Compiling/Installing httpd 2.4.2 on AIX 6.1 with gcc/g++

There are some "more recent" gcc builds for AIX available via:

Current versions:

  • AIX5L V5.1: v4.5.3-2
  • AIX5L V5.2: v4.6.3-2
  • AIX5L V5.3: v4.6.3-2
  • AIX V6.1: v4.6.3-2
  • AIX V7.1: v4.6.3-2
RPM's being what they are - there are several packages that need to be installed as mentioned above.

And, I would be very interested in hearing what your experiences are if you use the buildaix.ksh script (in ./build/aix directory). The result is (is suppossed to be) an installp installable file in build/aix.


On Wed, May 30, 2012 at 7:57 PM, Eric Covener <> wrote:
On Wed, May 30, 2012 at 1:38 PM, Reimer, George
<> wrote:
> My browser tells me that “It Works!”  but it took a couple days of banging
> my head against the wall. I encountered the following rough spots and
> eventually stumbled over their solutions as noted:

can you share your gcc experience here in the wiki:

To unsubscribe, e-mail:
For additional commands, e-mail: