php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #27600 Compile fails on gcc 3.0.4
Submitted: 2004-03-15 05:10 UTC Modified: 2004-03-16 11:29 UTC
From: eero at jlug dot fi Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.3.4 OS: Debian / 2.4.18-1-686
Private report: No CVE-ID: None
 [2004-03-15 05:10 UTC] eero at jlug dot fi
Description:
------------
Compile fails on gcc 3.0.4

Reproduce code:
---------------
./configure
make

Expected result:
----------------
gcc  -Iext/ctype/ -I/root/src/php-4.3.4/ext/ctype/ -DPHP_ATOM_INC -I/root/src/php-4.3.4/include -I/root/src/php-4.3.4/main -I/root/src/php-4.3.4 -I/root/src/php-4.3.4/Zend -I/root/src/php-4.3.4/ext/xml/expat  -I/root/src/php-4.3.4/TSRM  -g -O2  -c /root/src/php-4.3.4/ext/ctype/ctype.c -o ext/ctype/ctype.o  && echo > ext/ctype/ctype.lo
In file included from /root/src/php-4.3.4/main/php.h:34,
                 from /root/src/php-4.3.4/ext/ctype/ctype.c:23:
/root/src/php-4.3.4/Zend/zend.h:311: argument format specified for non-function `error_function'
/root/src/php-4.3.4/Zend/zend.h:312: argument format specified for non-function `printf_function'
/root/src/php-4.3.4/Zend/zend.h:444: argument format specified for non-function `zend_printf'
/root/src/php-4.3.4/Zend/zend.h:451: argument format specified for non-function `zend_error_cb'
make: *** [ext/ctype/ctype.lo] Error 1



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2004-03-15 07:41 UTC] sniper@php.net
Please upgrade you compiler. This works fine with GCC 2.95.3,   
3.3.1 and 3.3.3 (the ones I have installed atm)



 [2004-03-16 06:39 UTC] meebey@php.net
I can reproduce this.
The problem is in Zend/zend.h line 155

#if ZEND_GCC_VERSION >= 3000
# define ZEND_ATTRIBUTE_PTR_FORMAT(type, idx, first) __attribute__ ((format(type, idx, first)))
#else
# define ZEND_ATTRIBUTE_PTR_FORMAT(type, idx, first)
#endif

the gcc 3.0.4 is above 3000, but does not support this kind of syntax, changing the check somethig like > 3040, then everything should be fine...
I hardcoded for a test to the #else case and compiling works now..
 

 [2004-03-16 11:29 UTC] iliaa@php.net
This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 15:01:29 2024 UTC