php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20546 compile with gcc 3.2 fails due to parser errors
Submitted: 2002-11-21 09:49 UTC Modified: 2002-12-13 08:28 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: ben at thelocust dot org Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 4.3.0-dev OS: RedHat Linux 8.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: ben at thelocust dot org
New email:
PHP Version: OS:

 

 [2002-11-21 09:49 UTC] ben at thelocust dot org
Apache 2.0.40

configure string:

./configure  --with-pgsql --with-gd --with-apxs2=/usr/local/apache2/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-gettext --with-gd --with-dom --with-zlib-dir=/usr/lib --enable-cli

error:

In file included from /home/ben/src/php4-200211211430/Zend/zend.h:202,
                 from /home/ben/src/php4-200211211430/main/php.h:34,
                 from /home/ben/src/php4-200211211430/ext/zlib/zlib.c:28:
/home/ben/src/php4-200211211430/Zend/zend_hash.h:119: parse error before "va_list"

the parse errors repeat many times.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-21 09:52 UTC] ben at thelocust dot org
the latest snapshot (php4-200211211430) also fails for me with the same errors.
 [2002-11-22 16:03 UTC] iliaa@php.net
This is a fairly serious problem that should definately be resolved before 4.3.0 is released.
The following configuration options
/configure  --with-gd --enable-track-vars --enable-force-cgi-redirect --with-gettext --with-dom --with-zlib-dir=/usr/lib --enable-cli
Result in the compilation error that occured immidiately at the start of the compile process.
gcc  -Iext/zlib/ -I/home/rei/php4/ext/zlib/ -DPHP_ATOM_INC -I/home/rei/php4/include -I/home/rei/php4/main -I/home/rei/php4 -I/home/rei/php4/Zend -I/usr/local/include/libxml2 -I/home/rei/php4/ext/xml/expat  -I/home/rei/php4/TSRM  -g -O2  -c /home/rei/php4/ext/zlib/zlib.c -o ext/zlib/zlib.o  && echo > ext/zlib/zlib.lo
In file included from /usr/include/errno.h:36,
                 from /home/rei/php4/Zend/zend_operators.h:24,
                 from /home/rei/php4/Zend/zend_execute_globals.h:27,
                 from /home/rei/php4/Zend/zend_globals.h:34,
                 from /home/rei/php4/Zend/zend_list.h:25,
                 from /home/rei/php4/Zend/zend_API.h:26,
                 from /home/rei/php4/main/php.h:38,
                 from /home/rei/php4/ext/zlib/zlib.c:28:
/usr/include/bits/errno.h:25:26: linux/errno.h: Permission denied
In file included from /home/rei/php4/Zend/zend_execute_globals.h:27,
                 from /home/rei/php4/Zend/zend_globals.h:34,
                 from /home/rei/php4/Zend/zend_list.h:25,
                 from /home/rei/php4/Zend/zend_API.h:26,
                 from /home/rei/php4/main/php.h:38,
                 from /home/rei/php4/ext/zlib/zlib.c:28:
/home/rei/php4/Zend/zend_operators.h: In function `is_numeric_string':
/home/rei/php4/Zend/zend_operators.h:78: `ERANGE' undeclared (first use in this function)
/home/rei/php4/Zend/zend_operators.h:78: (Each undeclared identifier is reported only once
/home/rei/php4/Zend/zend_operators.h:78: for each function it appears in.)
In file included from /usr/include/bits/posix1_lim.h:126,
                 from /usr/include/limits.h:144,
                 from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/limits.h:132,
                 from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/syslimits.h:7,
                 from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.2/include/limits.h:11,
                 from /usr/include/sys/param.h:22,
                 from /home/rei/php4/main/php.h:205,
                 from /home/rei/php4/ext/zlib/zlib.c:28:
/usr/include/bits/local_lim.h:36:26: linux/limits.h: Permission denied
In file included from /home/rei/php4/main/php.h:205,
                 from /home/rei/php4/ext/zlib/zlib.c:28:
/usr/include/sys/param.h:23:26: linux/limits.h: Permission denied
/usr/include/sys/param.h:24:25: linux/param.h: Permission denied
In file included from /home/rei/php4/main/php.h:354,
                 from /home/rei/php4/ext/zlib/zlib.c:28:
/home/rei/php4/main/php_streams.h: At top level:
/home/rei/php4/main/php_streams.h:116: `PATH_MAX' undeclared here (not in a function)
/home/rei/php4/main/php_streams.h:117: confused by earlier errors, bailing out
make: *** [ext/zlib/zlib.lo] Error 1
 [2002-11-22 16:40 UTC] iliaa@php.net
It appears the problem is NOT gcc but rather the buildtools, the snapshot avaliable from http://snaps.php.net/ compiles fine. However, if I use:
autoconf version 2.54, automake version 1.7.1 and libtool version 1.4.3 to generate the PHP's configuration files from the CVS checkout the compilation fails.
 [2002-12-03 10:12 UTC] ben at thelocust dot org
Hmm... I have updated to the latest of RedHats build tools, autoconf 2.53-8, automake 1.6.3-1, libtool 1.4.2-12, and I still cannot compile, and receive the same errors as above (with the latest snap, php4-STABLE-200212031430).  What version of the buildtools are used to successfully compile this?
 [2002-12-03 11:53 UTC] derick@php.net
Recommended is:
autoconf 2.13
automake 1.5
libtool 1.4.2

(snapshots are generated with those too IIRC)

Derick
 [2002-12-03 13:14 UTC] ben at thelocust dot org
i have downgraded to the suggested (or nearest suggested) versions of autoconf,automake, and libtool.  my versions are now: autoconf 2.13-5, automake 1.4p5-4, libtool 1.4.2-14.

my gcc version is still gcc 3.2-7 (redhat 8.0)

with the latest snapshot (php4-STABLE-200212031430), after a successful make distclean/configure, i run 'make', and receive this: 

** BEGIN OUTPUT **
/bin/sh libtool --silent --mode=compile gcc  -Iext/zlib/ -I/home/ben/src/php4-ST
ABLE-200212031430/ext/zlib/ -DPHP_ATOM_INC -I/home/ben/src/php4-STABLE-200212031
430/include -I/home/ben/src/php4-STABLE-200212031430/main -I/home/ben/src/php4-S
TABLE-200212031430 -I/usr/local/apache2/include -I/home/ben/src/php4-STABLE-2002
12031430/Zend -I/usr/include/libxml2 -I/home/ben/src/php4-STABLE-200212031430/ex
t/xml/expat  -I/home/ben/src/php4-STABLE-200212031430/TSRM  -g  -prefer-pic -c /
home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c -o ext/zlib/zlib.lo
In file included from /home/ben/src/php4-STABLE-200212031430/Zend/zend.h:202,
                 from /home/ben/src/php4-STABLE-200212031430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/Zend/zend_hash.h:119: parse error before
"va_list"
In file included from /home/ben/src/php4-STABLE-200212031430/Zend/zend.h:203,
                 from /home/ben/src/php4-STABLE-200212031430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/Zend/zend_llist.h:34: parse error before
"va_list"
In file included from /home/ben/src/php4-STABLE-200212031430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/Zend/zend.h:285: parse error before "va_l
ist"
/home/ben/src/php4-STABLE-200212031430/Zend/zend.h:423: parse error before "va_l
ist"
In file included from /home/ben/src/php4-STABLE-200212031430/main/php.h:224,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/main/spprintf.h:40: parse error before "v
a_list"
In file included from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/main/php.h:277: parse error before "va_li
st"
In file included from /home/ben/src/php4-STABLE-200212031430/main/php.h:360,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212031430/TSRM/tsrm_virtual_cwd.h:159: warning: `st
ruct utimbuf' declared inside parameter list
/home/ben/src/php4-STABLE-200212031430/TSRM/tsrm_virtual_cwd.h:159: warning: its
 scope is only this definition or declaration, which is probably not what you wa
nt
In file included from /home/ben/src/php4-STABLE-200212031430/ext/standard/php_st
andard.h:23,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212031430/ext/standard/php_string.h: In function `p
hp_memnstr':
/home/ben/src/php4-STABLE-200212031430/ext/standard/php_string.h:142: warning: a
ssignment makes pointer from integer without a cast
In file included from /home/ben/src/php4-STABLE-200212031430/ext/standard/fsock.
h:38,
                 from /home/ben/src/php4-STABLE-200212031430/ext/standard/php_st
andard.h:44,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212031430/main/php_network.h: At top level:
/home/ben/src/php4-STABLE-200212031430/main/php_network.h:113: warning: `struct
sockaddr' declared inside parameter list
In file included from /home/ben/src/php4-STABLE-200212031430/ext/standard/php_st
andard.h:44,
                 from /home/ben/src/php4-STABLE-200212031430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212031430/ext/standard/fsock.h:43: warning: `struct
 in_addr' declared inside parameter list
make: *** [ext/zlib/zlib.lo] Error 1

** END OUTPUT **

Which is the same as my previous error postings.
 [2002-12-03 13:19 UTC] derick@php.net
Please rebuild configure like this:

rm configure
./buildconf

otherwise the wrong configure (generated with the old tools) is used.

Derick
 [2002-12-03 13:42 UTC] ben at thelocust dot org
Thanks for the heads-up on rebuilding the configure, but alas I just tried your rm configure; ./buildconf suggestion, and the very same build errors occurred.
 [2002-12-11 10:59 UTC] ben at thelocust dot org
php4-STABLE-200212111430
red hat 8.0 
gcc version 3.2.1
autoconf version 2.13-5 (downgraded from more-current 2.56-1)
automake version 1.6.3-1
libtool version 1.4.3-2
zlib version 1.1.4-4

./configure  --with-pgsql --with-gd --with-apxs2=/usr/local/apache2/bin/apxs --enable-track-vars --enable-force-cgi-redirect --with-gettext --with-gd --with-dom --with-zlib-dir=/usr/lib --enable-cli


i tried this configure/make with autoconf 2.56-1 first (on a freshly un-tarred php4-stable snap) and it failed as it had before.  then after downgrading to the recommended autoconf 2.13 and doing a 'make distclean; ./buildconf', i was still receiving make errors as previously stated in this bug report.

is this a gcc issue?  i have tried the recommended build tools, but have not tried (nor wanted) to downgrade my gcc to get PHP to build.

here is my make output with autoconf 2.13

[root@thelocust php4-STABLE-200212111430]# make
/bin/sh libtool --silent --mode=compile gcc  -Iext/zlib/ -I/home/ben/src/php4-STABLE-200212111430/ext/zlib/ -DPHP_ATOM_INC -I/home/ben/src/php4-STABLE-200212111430/include -I/home/ben/src/php4-STABLE-200212111430/main -I/home/ben/src/php4-STABLE-200212111430 -I/usr/local/apache2/include -I/home/ben/src/php4-STABLE-200212111430/Zend -I/usr/include/libxml2 -I/home/ben/src/php4-STABLE-200212111430/ext/xml/expat  -I/home/ben/src/php4-STABLE-200212111430/TSRM  -g  -prefer-pic -c /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c -o ext/zlib/zlib.lo
In file included from /home/ben/src/php4-STABLE-200212111430/Zend/zend.h:202,
                 from /home/ben/src/php4-STABLE-200212111430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/Zend/zend_hash.h:119: parse error before "va_list"
In file included from /home/ben/src/php4-STABLE-200212111430/Zend/zend.h:203,
                 from /home/ben/src/php4-STABLE-200212111430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/Zend/zend_llist.h:34: parse error before "va_list"
In file included from /home/ben/src/php4-STABLE-200212111430/main/php.h:34,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/Zend/zend.h:285: parse error before "va_list"
/home/ben/src/php4-STABLE-200212111430/Zend/zend.h:423: parse error before "va_list"
In file included from /home/ben/src/php4-STABLE-200212111430/main/php.h:224,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/main/spprintf.h:40: parse error before "va_list"
In file included from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/main/php.h:277: parse error before "va_list"
In file included from /home/ben/src/php4-STABLE-200212111430/main/php.h:360,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:28:
/home/ben/src/php4-STABLE-200212111430/TSRM/tsrm_virtual_cwd.h:159: warning: `struct utimbuf' declared inside parameter list
/home/ben/src/php4-STABLE-200212111430/TSRM/tsrm_virtual_cwd.h:159: warning: its scope is only this definition or declaration, which is probably not what you want
In file included from /home/ben/src/php4-STABLE-200212111430/ext/standard/php_standard.h:23,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212111430/ext/standard/php_string.h: In function `php_memnstr':
/home/ben/src/php4-STABLE-200212111430/ext/standard/php_string.h:142: warning: assignment makes pointer from integer without a cast
In file included from /home/ben/src/php4-STABLE-200212111430/ext/standard/fsock.h:38,
                 from /home/ben/src/php4-STABLE-200212111430/ext/standard/php_standard.h:44,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212111430/main/php_network.h: At top level:
/home/ben/src/php4-STABLE-200212111430/main/php_network.h:113: warning: `struct sockaddr' declared inside parameter list
In file included from /home/ben/src/php4-STABLE-200212111430/ext/standard/php_standard.h:44,
                 from /home/ben/src/php4-STABLE-200212111430/ext/zlib/zlib.c:48:
/home/ben/src/php4-STABLE-200212111430/ext/standard/fsock.h:43: warning: `struct in_addr' declared inside parameter list
make: *** [ext/zlib/zlib.lo] Error 1
 [2002-12-11 12:21 UTC] ben at thelocust dot org
I added the patch to zend_hash.h as specified in this bug: http://bugs.php.net/bug.php?id=15217, (adding #include <stdargs.h> to zend_hash.h), and the seemed to rectify my initial problems, however, now I am getting the following warnings: 

/home/ben/src/php4-STABLE-200212111430/TSRM/tsrm_virtual_cwd.h:159: warning: `struct utimbuf' declared inside parameter list
/home/ben/src/php4-STABLE-200212111430/TSRM/tsrm_virtual_cwd.h:159: warning: its scope is only this definition or declaration, which is probably not what you want

from a number of different files.
 [2002-12-13 08:13 UTC] ben at thelocust dot org
i finally found out what was wrong -- i was missing 'cpp0', which apparently was not required by the Redhat Rawhide gcc packages as it should have been.  without it, the configure script assumed that i wasn't using GNU gcc, and was failing left and right.

sorry for the trouble!
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Oct 17 21:01:27 2024 UTC