Zend/zend_module.h uses 'struct _zend_arg_info', but does not include definition of it (in Zend/zend_compile.h) Reproducible: Always Steps to Reproduce: 1. unpack php-5.0.3.tar.bz2 2. configure 3. make Actual Results: gcc -Iext/libxml/ -I/home/chenxy/tmp/php-5.0.3/ext/libxml/ -DPHP_ATOM_INC -I/home/chenxy/tmp/php-5.0.3/include -I/home/chenxy/tmp/php-5.0.3/main -I/home/chenxy/tmp/php-5.0.3 -I/home/chenxy/tmp/php-5.0.3/Zend -I/usr/include/libxml2 -I/home/chenxy/tmp/php-5.0.3/TSRM -g -O2 -c /home/chenxy/tmp/php-5.0.3/ext/libxml/libxml.c -o ext/libxml/libxml.o && echo > ext/libxml/libxml.lo In file included from /home/chenxy/tmp/php-5.0.3/Zend/zend_API.h:26, from /home/chenxy/tmp/php-5.0.3/main/php.h:38, from /home/chenxy/tmp/php-5.0.3/ext/libxml/libxml.c:28: /home/chenxy/tmp/php-5.0.3/Zend/zend_modules.h:34: error: array type has incomplete element type /home/chenxy/tmp/php-5.0.3/Zend/zend_modules.h:35: error: array type has incomplete element type /home/chenxy/tmp/php-5.0.3/Zend/zend_modules.h:36: error: array type has incomplete element type /home/chenxy/tmp/php-5.0.3/Zend/zend_modules.h:37: error: array type has incomplete element type /home/chenxy/tmp/php-5.0.3/Zend/zend_modules.h:38: error: array type has incomplete element type make: *** [ext/libxml/libxml.lo] Error 1 Expected Results: Compiled successfully.
Created attachment 60012 [details, diff] include zend_compile.h in zend_module.h solves the problem
Created attachment 60034 [details, diff] GCC4 compile fix I'm not sure why you removed the other include. This is exactly how upstream fixed it in CVS.
This isn't a blocker since GCC4 isn't even supported yet.
> I'm not sure why you removed the other include. This is exactly how upstream fixed it in CVS. Oh, because zend_compile.h already includes zend.h. :-)
Well, if no one from the PHP team has a problem, I'll commit this patch later today.
Patch is in the tree.