From:             ben dot lentz at gmail dot com
Operating system: AIX 5.3.8.2
PHP version:      5.2.6
PHP Bug Type:     Compile Failure
Bug description:  arg list too long when compiling many modules

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 bug report at http://bugs.php.net/?id=46511&edit=1
-- 
Try a CVS snapshot (PHP 5.2):        
http://bugs.php.net/fix.php?id=46511&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):        
http://bugs.php.net/fix.php?id=46511&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):        
http://bugs.php.net/fix.php?id=46511&r=trysnapshot60
Fixed in CVS:                        
http://bugs.php.net/fix.php?id=46511&r=fixedcvs
Fixed in CVS and need be documented: 
http://bugs.php.net/fix.php?id=46511&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=46511&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=46511&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=46511&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=46511&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=46511&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=46511&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=46511&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=46511&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=46511&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=46511&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=46511&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=46511&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=46511&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=46511&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=46511&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=46511&r=mysqlcfg

Reply via email to