ID:               24104
 Comment by:       I dot wont at give dot that dot out
 Reported By:      wax at y12 dot doe dot gov
 Status:           Bogus
 Bug Type:         Compile Failure
 Operating System: OSF1 V4.0 878 alpha
 PHP Version:      4.3.2
 New Comment:

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 ?


Previous Comments:
------------------------------------------------------------------------

[2003-06-11 17:23:00] [EMAIL PROTECTED]

still not PHP bug -> bogus.


------------------------------------------------------------------------

[2003-06-11 12:53:25] 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 12:22:26] [EMAIL PROTECTED]

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-10 12:15:11] 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-10 11:56:52] [EMAIL PROTECTED]

Yes, try this:

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




------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/24104

-- 
Edit this bug report at http://bugs.php.net/?id=24104&edit=1

Reply via email to