ID:               46511
 User updated by:  ben dot lentz at gmail dot com
 Reported By:      ben dot lentz at gmail dot com
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: AIX 5.3.8.2
 PHP Version:      5.2.6
 New Comment:

I had  the right versions of GNU sed and tried changing my shell to the
latest version of bash.

No dice.

Simply put, enabling every php extension that I needed to build was not
possible because of this issue. I received absolutely no help from
filing this bug report as it was simply slapped with "Bogus" and no
attention was paid to it.

My workaround was to compile as many extensions as I possibly could as
shared modules, disabling everything that couldn't be built
--with-EXTENSION=shared. Then, I rebuilt again, disabling everything 
that could be shared, and enabling everything that couldn't be shared.

Once the two halves were smushed together, I had a working PHP
install.

This doesn't begin to address the third build I'll have to do t o get
the CLI SAPI *AND* the Apache shared module.

I still maintain that the build system provided with PHP is woefully
inadequate and I would be willing to provide testing and more feedback
if someone from the PHP team is willing to listen.

It seems ridiculous that I can't do one build with CLI, Apache2, and
all modules without the system collapsing in on itself.

                        ./configure \
                                --prefix=/opt/local \
                                --with-config-file-path=/opt/local/etc
\
                                --disable-bcmath \
                                --enable-calendar \
                                --disable-dbase \
                                --disable-dom \
                                --enable-exif \
                                --enable-ftp \
                                --enable-pcntl \
                                --enable-shmop \
                                --enable-sockets \
                                --enable-sysvmsg \
                                --enable-sysvsem \
                                --enable-sysvshm \
                                --enable-wddx \
                                --disable-xmlreader \
                                --disable-xmlwriter \
                                --with-bz2=/opt/local \
                                --with-curl=/opt/local \
                                --with-gettext=/opt/local \
                                --with-gmp=/opt/local \
                                --with-iconv-dir=/opt/local \
                                --with-libxml-dir=/opt/local \
                                --with-openssl=/opt/local \
                                --with-openssl-dir=/opt/local \
                                --with-pspell=/opt/local \
                                --with-zlib=/opt/local \
                                --with-zlib-dir=/opt/local \
                                --without-db4 \
                                --without-gd \
                                --without-gdbm \
                                --without-imap-ssl \
                                --without-imap \
                                --without-kerberos \
                                --without-ldap-sasl \
                                --without-ldap \
                                --without-libmbfl \
                                --without-mcrypt \
                                --without-mhash \
                                --without-mm \
                                --without-mysql \
                                --without-mysqli \
                                --without-ncurses \
                                --without-pdo-mysql \
                                --without-pdo-odbc \
                                --without-readline \
                                --without-snmp \
                                --without-unixODBC \
                                --without-xsl
                make
                make install
                make clean
                        ./configure \
                                --prefix=/opt/local \
                                --with-config-file-path=/opt/local/etc
\
                                --enable-bcmath=shared \
                                --disable-calendar \
                                --enable-dba=shared \
                                --enable-dbase=shared \
                                --enable-dom=shared \
                                --disable-exif \
                                --disable-ftp \
                                --disable-pcntl \
                                --disable-shmop \
                                --disable-sockets \
                                --disable-sysvmsg \
                                --disable-sysvsem \
                                --disable-sysvshm \
                                --disable-wddx \
                                --enable-xmlreader=shared \
                                --enable-xmlwriter=shared \
                                --without-bz2 \
                                --without-curl \
                                --without-gettext \
                                --without-gmp \
                                --with-iconv-dir=/opt/local \
                                --with-libxml-dir=/opt/local \
                                --with-openssl=/opt/local \
                                --with-openssl-dir=/opt/local \
                                --without-pspell \
                                --with-zlib=/opt/local \
                                --with-zlib-dir=/opt/local \
                                --with-db4=/opt/local \
                                --with-freetype-dir=/opt/local \
                                --with-gd=shared \
                                --with-gdbm=/opt/local \
                                --with-imap=shared,/opt/local \
                                --with-imap-ssl=/opt/local \
                                --with-jpeg-dir=/opt/local \
                                --with-kerberos=/opt/local \
                                --with-ldap=shared,/opt/local \
                                --with-ldap-sasl=/opt/local \
                                --with-libmbfl=shared,/opt/local \
                                --with-mcrypt=shared,/opt/local \
                                --with-mhash=shared,/opt/local \
                                --with-mysql=shared,/opt/local \
                               
--with-mysqli=/opt/local/bin/mysql_config \
                                --with-ncurses=shared,/opt/local \
                                --with-pdo-mysql=shared,/opt/local \
                                --with-pdo-odbc=unixODBC,/opt/local \
                                --with-png-dir=/opt/local \
                                --with-readline=shared,/opt/local \
                                --with-snmp=shared,/opt/local \
                                --with-unixODBC=shared,/opt/local \
                                --with-xsl=shared,/opt/local \
                                --with-xmlrpc=shared
                make
                make install-modules


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

[2008-11-19 14:08:37] ben dot lentz at gmail dot com

I've tried a few other things. Now I'm getting:

make: execvp: /bin/sh: The parameter or environment lists are too long.

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

[2008-11-07 01:55:53] ben dot lentz at gmail dot com

I'm afraid not. As I wrote:

> Compiling php-5.2.6 using gcc with IBM's linker, and GNU tools
(coreutils/findutils/*sed*

I've installed GNU sed 4.1.5 into /opt/local/bin, prefixed
/opt/local/bin in my PATH, verified with 'which sed', and rebuilt from
scratch. Same result.

Also, the build completes with less modules enabled, regardless of the
sed version.

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

[2008-11-06 23:08:50] j...@php.net

Due to a bug in the installed sed on your system the build
fails. Install GNU sed and it should be okay.
 
Thank you for your interest in PHP.



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

[2008-11-06 19:01:24] ben dot lentz at gmail dot com

Description:
------------
Compiling php-5.2.6 using gcc with IBM's linker, and GNU tools
(coreutils/findutils/sed/awk/grep/automake/autoconf/etc.) with many
modules results in an arg list too long error from /bin/sh (ksh).
Reducing the number of modules included in the build results in a
successful build.

I have tried manually changing the Makefile from SHELL=/bin/sh to
SHELL=/opt/local/bin/bash (GNU bash 3.2.0), but this results in a
different error from the build... something about an unmatched backtick
'`.'

I have tried building some of these modules with=shared,$WHERE but it
didn't help.

I've examined the resulting Makefile and the PHP_GLOBAL_OBJS is so huge
that it crashes IBM's vi (Line too long for current screen size.). I
suspect here in lies the problem.

grep '^PHP_GLOBAL_OBJS' Makefile | wc
       1     587   17353

I have tried both the release php-5.2.6 and php5.2-200811061730, and
the failure was the same in both cases.

If someone could throw together a patch for the Makefile or configure
script, I would be very grateful. Or, if there's a way to build this
differently (sets of modules at a time or something), I would be
grateful for some pointers. 

Thanks

Reproduce code:
---------------
./configure \
        --prefix=$WHERE \
        --enable-shared=yes \
        --enable-static=no \
        --with-libxml-dir=$WHERE \
        --with-openssl=$WHERE \
        --with-openssl-dir=$WHERE \
        --with-mysql=$WHERE \
        --with-mysql-sock=$WHERE/var/lib/mysql/mysql.sock \
        --with-kerberos=$WHERE \
        --with-zlib=$WHERE \
        --with-zlib-dir=$WHERE \
        --with-bz2=$WHERE \
        --with-curl=$WHERE \
        --with-gdbm=$WHERE \
        --with-db4=$WHERE \
        --with-gd=$WHERE \
        --with-jpeg-dir=$WHERE \
        --with-png-dir=$WHERE \
        --with-freetype-dir=$WHERE \
        --with-gettext=$WHERE \
        --with-imap=$WHERE \
        --with-imap-ssl=$WHERE \
        --with-ldap=$WHERE \
        --with-ldap-sasl=$WHERE \
        --with-mm=$WHERE \
        --with-libexpat-dir=$WHERE \
        --with-iconv=$WHERE \
        --with-iconv-dir=$WHERE \
        --with-xsl=$WHERE \
        --enable-calendar \
        --enable-sockets \
        --enable-bcmath \
        --enable-ftp \
        --with-gmp=$WHERE \
        --with-pspell=$WHERE \
        --with-snmp=$WHERE \
        --enable-mbstring \
        --with-readline=$WHERE \
        --enable-soap \
        --enable-wddx \
        --enable-zip \
        --enable-shmop \
        --enable-pcntl \
        --enable-exif
make

Expected result:
----------------
A successful build of php-cli.

Actual result:
--------------
>From ksh:
<snip> main/internal_functions.lo -lcrypt -lc-client -lz -lexslt
-lexpat -lexpat -lmm -lhistory -lreadline -lncurses -laspell -lpspell
-lrt -lmysqlclient -lldap -llber -lssl -lcrypto -lcrypt -lpam -liconv
-liconv -lgmp -lintl -lgd -lfreetype -lpng -lz -ljpeg -lssl -lcrypto
-ldb-4.6 -lgdbm -lcurl -lbz2 -lz -lssl -lcrypto -lm -lssl -lcrypto
-lxml2 -lz -liconv -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcurl
-lssl -lcrypto -llber -lldap -lz -lxml2 -lz -liconv -lm -lgssapi_krb5
-lkrb5 -lk5crypto -lcom_err -lxml2 -lz -liconv -lm -lnetsnmp -lxml2 -lz
-liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxslt -lxml2
-lz -liconv -lm -lcrypt  -o sapi/cgi/php-cgi
make: execvp: /bin/sh: Arg list too long
make: *** [sapi/cgi/php-cgi] Error 127

>From bash:
<snip> main/internal_functions.lo -lcrypt -lc-client -lz -lexslt
-lexpat -lexpat -lmm -lhistory -lreadline -lncurses -laspell -lpspell
-lrt -lmysqlclient -lldap -llber -lssl -lcrypto -lcrypt -lpam -liconv
-liconv -lgmp -lintl -lgd -lfreetype -lpng -lz -ljpeg -lssl -lcrypto
-ldb-4.6 -lgdbm -lcurl -lbz2 -lz -lssl -lcrypto -lm -lssl -lcrypto
-lxml2 -lz -liconv -lm -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lcurl
-lssl -lcrypto -llber -lldap -lz -lxml2 -lz -liconv -lm -lgssapi_krb5
-lkrb5 -lk5crypto -lcom_err -lxml2 -lz -liconv -lm -lnetsnmp -lxml2 -lz
-liconv -lm -lxml2 -lz -liconv -lm -lxml2 -lz -liconv -lm -lxslt -lxml2
-lz -liconv -lm -lcrypt  -o sapi/cgi/php-cgi
make: execvp: /opt/local/bin/bash: Arg list too long
make: *** [sapi/cgi/php-cgi] Error 127


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


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

Reply via email to