ID:               42926
 Updated by:       [EMAIL PROTECTED]
 Reported By:      mamfelt at acm dot org
-Status:           Open
+Status:           Feedback
 Bug Type:         Compile Failure
 Operating System: AIX 5.3 TL06
 PHP Version:      5.2.4
 New Comment:

This is wrong:

--with-jpeg-dir=/usr/local/lib

This is the correct way:

--with-jpeg-dir=/usr/local

There aren't any PHP configure options that expect you to pass them
either <path>/lib or <path>/include, they all expect the install
_prefix_. 


Previous Comments:
------------------------------------------------------------------------

[2007-10-12 13:23:40] mamfelt at acm dot org

Tested with 32-bit libraries - and CFLAGS=-q64 (corrected from above)

As expected (now) configure fails once it links to a library:
00Configuring extensions00
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path... /usr/local/bin/xml2-config
checking whether libxml build works... no
configure: error: build test failed.  Please check the config.log for
details.
[EMAIL PROTECTED]:[/home/michael/prj/php-5.2.4]tail config.log
#line 20044 "configure"
#include "confdefs.h"

    
    char xmlInitParser();
    int main() {
      xmlInitParser();
      return 0;
    }
  
The AIX loader supports mixed 32_64 bit archives, just have to discover
how to make them I guess.

------------------------------------------------------------------------

[2007-10-12 13:17:38] mamfelt at acm dot org

To complete my initial configure/build tests I used the configure
command I had been using with AIX 5.2, 32-bit and gcc.

Note: since I dont have apache installed yet, there is no apxs entry.

./configure \
        --enable-safe-mode \
        --enable-magic-quotes \
        --with-openssl=/usr/local/ssl \
        --with-zlib-dir=/data/prj/zlib-1.2.3 \
        --enable-bcmath \
        --enable-dba \
        --enable-ftp \
        --with-gd \
        --with-jpeg-dir=/usr/local/lib  \
        --with-ttf \
        --with-freetype-dir \
        --enable-gd-native-ttf \
        --with-mysql=/usr/local/mysql \
        --with-pear

During the preparations I installed both freetype packages. While
configure resolved that to use only freetype2, the make failed because
it found the libraries for freetype (freetype1) in /usr/local/include
first. Initially I thought this was due my CFLAGS setting
(CFLAGS=-I/usr/local/include - left over from one of the package
builds). However, after unsetting CFLAGS, make distclean, config and
make I still had the same problem. The config is adding
-I/usr/local/include in the argument list before the
-I/usr/lib/include/freetype2. The simple solution was to uninstall the
freetype1 package. After this the package compiled.

So, in as much as PHP may want to consider this a bug - php config is
not working (well) in a 64-bit environment by default. I am unaware of
how well applications behave (I suspect badly) in a mixed 32_64 bit
environment I shall only try the CFLAGS=-X64 setting to test the
configure with an extra flag.

p.s. I have also changed CC to CC=xlc_r

------------------------------------------------------------------------

[2007-10-11 17:11:04] mamfelt at acm dot org

re-submit now i understand what the summary does.

------------------------------------------------------------------------

[2007-10-11 17:08:17] mamfelt at acm dot org

After switching to 32-bit distribution the configure process completes
successfully.

:)

+--------------------------------------------------------------------+

Thank you for using PHP.

[EMAIL PROTECTED]:[/home/michael/prj/php-5.2.4]

btw. very nice to see these are read right away!

------------------------------------------------------------------------

[2007-10-11 14:01:26] mamfelt at acm dot org

line 59490 and further as an example:

    if test -z "$PHP_LIBDIR"; then
    PHP_LIBDIR=lib
  fi

  for i in $PHP_LIBDIR $PHP_LIBDIR/mysql; do
   
  str="$MYSQL_DIR/$i/lib$MYSQL_LIBNAME.*"
  for j in `echo $str`; do
    if test -r $j; then
      MYSQL_LIB_DIR=$MYSQL_DIR/$i
      break 2
    fi

on AIX you could make the default directory PHP_LIBDIR=[b]mysql[/b] so
that the string would be /usr/local/mysql/lib (rather than only having
/usr/local/lib/mysql succeed)

The code for locating the include directory would be assisted by a
similiar patch.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/42926

-- 
Edit this bug report at http://bugs.php.net/?id=42926&edit=1

Reply via email to