Our PHP 4.3.0 build failed to compile sapi/cli/php on our AIX machine,
with over one hundred error messages like:

cc: 1501-218 file ext/ctype/ctype.lo contains an incorrect file suffix

The causes of this are rather subtle:

1. GNU libtool will usually not create static objects under AIX.

2. But the PHP developers want libtool to create static objects.

3. So the PHP developers provide their own ./libtool in the source
   tree which will create them, which they run with "/bin/sh libtool".

4. Unfortunately, while "/bin/sh <file>" usually looks for <file> in
   the current directory before searching through $PATH, on AIX it
   looks through $PATH first; thus the PHP Makefile winds up running
   /usr/local/bin/libtool (or wherever you have it installed) instead.

Thus the solution is to modify the PHP Makefile so that the line

   LIBTOOL = $(SHELL) libtool --silent

instead reads

   LIBTOOL = $(SHELL) ./libtool --silent

Technical notes: When you compile and install libtool, it runs a
script called libtool.m4 which, around line 2363 in the libtool-1.4.3
source, disables AIX static linking with the explanation that:

   "On AIX, shared libraries and static libraries use the same
   namespace, and are all built from PIC."

It disables static linking by setting enable_static=no when it writes
your libtool script; the ./libtool script in the PHP build directory
works precisely because this variable is set to "yes" instead.

-- 
Brandon Craig Rhodes   [EMAIL PROTECTED]   http://rhodesmill.org/brandon

-- 
PHP Install Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to