php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #24104 make failure
Submitted: 2003-06-09 17:45 UTC Modified: 2003-06-11 17:23 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: wax at y12 dot doe dot gov Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 4.3.2 OS: OSF1 V4.0 878 alpha
Private report: No CVE-ID: None
 [2003-06-09 17:45 UTC] wax at y12 dot doe dot gov
I do this as a configure string:

./configure --prefix=/opt/local/stow/php-4.3.2 --with-mysql --with-apache=/usr/local/apache --with-zlib=/opt/local --with-zlib-dir=~wax/zlib --with-gd=/opt/local --with-jpeg-dir=/opt/local --with-png=/opt/local

My GCC version is 2.7.2.2 .

It works fine it seems... I then run make and I get this:

gcc  -IZend/ -I/u00/wax/php-4.3.3/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.3/include -I/u00/wax/php-4.3.3/main -I/u00/wax/php-4.3.3 -I/u00/wax/php-4.3.3/Zend -I/opt/local/include -I/u00/wax/php-4.3.3/ext/xml/expat  -I/u00/wax/php-4.3.3/TSRM  -g -O2  -c /u00/wax/php-4.3.3/Zend/zend_stack.c -o Zend/zend_stack.o  && echo > Zend/zend_stack.lo
gcc  -IZend/ -I/u00/wax/php-4.3.3/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.3/include -I/u00/wax/php-4.3.3/main -I/u00/wax/php-4.3.3 -I/u00/wax/php-4.3.3/Zend -I/opt/local/include -I/u00/wax/php-4.3.3/ext/xml/expat  -I/u00/wax/php-4.3.3/TSRM  -g -O2  -c /u00/wax/php-4.3.3/Zend/zend_variables.c -o Zend/zend_variables.o  && echo > Zend/zend_variables.lo
gcc  -IZend/ -I/u00/wax/php-4.3.3/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.3/include -I/u00/wax/php-4.3.3/main -I/u00/wax/php-4.3.3 -I/u00/wax/php-4.3.3/Zend -I/opt/local/include -I/u00/wax/php-4.3.3/ext/xml/expat  -I/u00/wax/php-4.3.3/TSRM  -g -O2  -c /u00/wax/php-4.3.3/Zend/zend.c -o Zend/zend.o  && echo > Zend/zend.lo
/u00/wax/php-4.3.3/Zend/zend.c: In function `zend_error':
/u00/wax/php-4.3.3/Zend/zend.c:780: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.3/Zend/zend.c:780: request for member `__base' in something not a structure or union
/u00/wax/php-4.3.3/Zend/zend.c:780: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.3/Zend/zend.c:780: request for member `__offset' in something not a structure or union
*** Exit 1
Stop.


Any suggestions on what is wrong?  I will see about upgrading my GCC to 3.3 tomorrow... but if I don't have to upgrade that... the better...



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-06-09 18:52 UTC] magnus@php.net
Please try with a stable compiler such as gcc 2.96 or 
3.2.3. 
You could also try with Tru64's compiler (CC=cc 
./configure). I personally haven't seen anything like this 
with 4.3.2 on Tru64. 
 [2003-06-09 23:04 UTC] sniper@php.net
Please ignore the previous comment, neither of those compilers are 'stable' in the way 2.95.3 is for example.

 [2003-06-10 10:23 UTC] wax at y12 dot doe dot gov
OK I have it using GCC 2.95.2 ...

Here is the error message now:

gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend -I/opt/local/include -I/u00/wax/php-4.3.2/ext/xml/expat  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend_variables.c -o Zend/zend_variables.o  && echo > Zend/zend_variables.lo
In file included from /opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/stdarg.h:36,
                 from /u00/wax/php-4.3.2/Zend/zend.h:63,
                 from /u00/wax/php-4.3.2/Zend/zend_variables.c:22:
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list'
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here
gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend -I/opt/local/include -I/u00/wax/php-4.3.2/ext/xml/expat  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend.c -o Zend/zend.o  && echo > Zend/zend.lo
In file included from /opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/stdarg.h:36,
                 from /u00/wax/php-4.3.2/Zend/zend.h:63,
                 from /u00/wax/php-4.3.2/Zend/zend.c:21:
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list'
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here
/u00/wax/php-4.3.2/Zend/zend.c: In function `zend_error':
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__base' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
make: *** [Zend/zend.lo] Error 1


webdev# gcc -v 

Reading specs from /opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/specs
gcc version 2.95.2 19991024 (release)


Anymore suggesionts?
 [2003-06-10 11:56 UTC] sniper@php.net
Yes, try this:

# rm config.cache && ./configure --disable-all --disable-cgi && make clean && make



 [2003-06-10 12:15 UTC] wax at y12 dot doe dot gov
OK ran it with GCC 2.7.2.2 and this happened:

gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend_variables.c -o Zend/zend_variables.o  && echo > Zend/zend_variables.lo
gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend.c -o Zend/zend.o  && echo > Zend/zend.lo
/u00/wax/php-4.3.2/Zend/zend.c: In function `zend_error':
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__base' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
*** Exit 1

Ran it with GCC 2.95.2

gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend_variables.c -o Zend/zend_variables.o  && echo > Zend/zend_variables.lo
In file included from /opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/stdarg.h:36,
                 from /u00/wax/php-4.3.2/Zend/zend.h:63,
                 from /u00/wax/php-4.3.2/Zend/zend_variables.c:22:
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list'
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here
gcc  -IZend/ -I/u00/wax/php-4.3.2/Zend/ -DPHP_ATOM_INC -I/u00/wax/php-4.3.2/include -I/u00/wax/php-4.3.2/main -I/u00/wax/php-4.3.2 -I/u00/wax/php-4.3.2/Zend  -I/u00/wax/php-4.3.2/TSRM  -g -O2  -c /u00/wax/php-4.3.2/Zend/zend.c -o Zend/zend.o  && echo > Zend/zend.lo
In file included from /opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/stdarg.h:36,
                 from /u00/wax/php-4.3.2/Zend/zend.h:63,
                 from /u00/wax/php-4.3.2/Zend/zend.c:21:
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va-alpha.h:36: warning: redefinition of `va_list'
/opt/gnu/lib/gcc-lib/alpha-dec-osf4.0d/2.95.2/include/va_list.h:7: warning: `va_list' previously declared here
/u00/wax/php-4.3.2/Zend/zend.c: In function `zend_error':
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__base' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
/u00/wax/php-4.3.2/Zend/zend.c:763: request for member `__offset' in something not a structure or union
make: *** [Zend/zend.lo] Error 1

OK I have tried that on php-4.3.2 & php4-STABLE-200306092130... Same result.  Due to this I am trying to get php-3.0.18 installed just to see if that will work and then work my way up...  Does that sound like a good idea??  I have tried doing the CC=cc ./configure thing... no good... also tried CC=cc make and still nothing... Is there any information you need from me to help debug this issue?
 [2003-06-11 12:22 UTC] sniper@php.net
After some searching with Google (you should try that sometimes..) I found some references claiming this is actually a gcc bug (on Alpha), you need to upgrade to gcc 3.x

 [2003-06-11 12:53 UTC] wax at y12 dot doe dot gov
I searched all over and never saw that.  I finally got it to use cc though... So I can successfully compile it now... Thank you.
 [2003-06-11 17:23 UTC] sniper@php.net
still not PHP bug -> bogus.

 [2003-06-20 05:22 UTC] I dot wont at give dot that dot out
This is a trivial standard error and has absolutely nothing to do with the system.

I have compiled 4.3.2 and it has the same problem, only on line 763. I really don't know how THIS file made it into the FINAL release, because it cannot compile at all; there is a trivial semicolon error outside of the conditional compile in line 769 in it, too.

The original line 763 is:
strncpy(z_error_message->value.str.val, va_arg(format, char *), ZEND_ERROR_BUFFER_SIZE);

It should have been:
strncpy(z_error_message->value.str.val, va_arg(args, char *), ZEND_ERROR_BUFFER_SIZE);


As I said, this is a beginner error:

#include <stdarg.h>

void f (const char format[], ...)
{
  int i;
  [...]
  va_list args;

  va_start (args, format);
  [...]
  /* error: arg holds argument list, not format */
  i = va_arg (format, int);
  [...]
  va_end (args);
}

This can't compile under ANY system - unless there are some which define va_list to be a 'const char*' or 'const void*'. Still it would be an error and cannot result in correct code. Nevertheless, because of the obvious semicolon error, I'm sure this file has never been successfully compiled before getting released anyway.

This is a funny and strange hack, btw; what about having some simple_vsnprintf() or such in the PHP runtime ?
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 19 01:00:03 2025 UTC