Page MenuHomePhabricator

wmerrors fails to build with PHP 8.1
Closed, ResolvedPublic

Description

Via Debian, which is moving to 8.1 in unstable: https://buildd.debian.org/status/fetch.php?pkg=php-wmerrors&arch=amd64&ver=2.0.0%7Egit20190628.183ef7d-3%2Bb1&stamp=1640981095&raw=0

make[1]: Entering directory '/<<PKGBUILDDIR>>'
/bin/bash /<<PKGBUILDDIR>>/libtool --mode=compile cc -I. -I/<<PKGBUILDDIR>> -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/main -I/<<PKGBUILDDIR>> -I/usr/include/php/20210902 -I/usr/include/php/20210902/main -I/usr/include/php/20210902/TSRM -I/usr/include/php/20210902/Zend -I/usr/include/php/20210902/ext -I/usr/include/php/20210902/ext/date/lib  -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H  -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security    -DZEND_COMPILE_DL_EXT=1 -c /<<PKGBUILDDIR>>/wmerrors.c -o wmerrors.lo  -MMD -MF wmerrors.dep -MT wmerrors.lo
libtool: compile:  cc -I. "-I/<<PKGBUILDDIR>>" "-I/<<PKGBUILDDIR>>/include" "-I/<<PKGBUILDDIR>>/main" "-I/<<PKGBUILDDIR>>" -I/usr/include/php/20210902 -I/usr/include/php/20210902/main -I/usr/include/php/20210902/TSRM -I/usr/include/php/20210902/Zend -I/usr/include/php/20210902/ext -I/usr/include/php/20210902/ext/date/lib -Wdate-time -D_FORTIFY_SOURCE=2 -DHAVE_CONFIG_H -g -O2 "-ffile-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -DZEND_COMPILE_DL_EXT=1 -c "/<<PKGBUILDDIR>>/wmerrors.c" -MMD -MF wmerrors.dep -MT wmerrors.lo  -fPIC -DPIC -o .libs/wmerrors.o
/<<PKGBUILDDIR>>/wmerrors.c: In function ‘zm_startup_wmerrors’:
/<<PKGBUILDDIR>>/wmerrors.c:82:22: warning: assignment to ‘void (*)(int,  const char *, const uint32_t,  const char *, __va_list_tag *)’ {aka ‘void (*)(int,  const char *, const unsigned int,  const char *, __va_list_tag *)’} from incompatible pointer type ‘void (*)(int,  zend_string *, const uint32_t,  zend_string *)’ {aka ‘void (*)(int,  struct _zend_string *, const unsigned int,  struct _zend_string *)’} [-Wincompatible-pointer-types]
   82 |         old_error_cb = zend_error_cb;
      |                      ^
/<<PKGBUILDDIR>>/wmerrors.c:83:23: warning: assignment to ‘void (*)(int,  zend_string *, const uint32_t,  zend_string *)’ {aka ‘void (*)(int,  struct _zend_string *, const unsigned int,  struct _zend_string *)’} from incompatible pointer type ‘void (*)(int,  const char *, const uint32_t,  const char *, __va_list_tag *)’ {aka ‘void (*)(int,  const char *, const unsigned int,  const char *, __va_list_tag *)’} [-Wincompatible-pointer-types]
   83 |         zend_error_cb = wmerrors_cb;
      |                       ^
/<<PKGBUILDDIR>>/wmerrors.c: In function ‘zm_shutdown_wmerrors’:
/<<PKGBUILDDIR>>/wmerrors.c:91:23: warning: assignment to ‘void (*)(int,  zend_string *, const uint32_t,  zend_string *)’ {aka ‘void (*)(int,  struct _zend_string *, const unsigned int,  struct _zend_string *)’} from incompatible pointer type ‘void (*)(int,  const char *, const uint32_t,  const char *, __va_list_tag *)’ {aka ‘void (*)(int,  const char *, const unsigned int,  const char *, __va_list_tag *)’} [-Wincompatible-pointer-types]
   91 |         zend_error_cb = old_error_cb;
      |                       ^
/<<PKGBUILDDIR>>/wmerrors.c: In function ‘wmerrors_write_full_backtrace’:
/<<PKGBUILDDIR>>/wmerrors.c:360:18: warning: implicit declaration of function ‘call_user_function_ex’; did you mean ‘call_user_function’? [-Wimplicit-function-declaration]
  360 |         status = call_user_function_ex(NULL, &exception, &backtrace_fname,
      |                  ^~~~~~~~~~~~~~~~~~~~~
      |                  call_user_function
In file included from /usr/include/php/20210902/main/fopen_wrappers.h:21,
                 from /usr/include/php/20210902/main/php.h:420,
                 from /<<PKGBUILDDIR>>/wmerrors.c:8:
/<<PKGBUILDDIR>>/wmerrors.c: In function ‘wmerrors_execute_file’:
/usr/include/php/20210902/main/php_globals.h:29:29: error: ‘struct _php_core_globals’ has no member named ‘log_errors_max_len’
   29 | # define PG(v) (core_globals.v)
      |                             ^
/<<PKGBUILDDIR>>/wmerrors.c:561:41: note: in expansion of macro ‘PG’
  561 |         buffer_len = vspprintf(&buffer, PG(log_errors_max_len), format, my_args);
      |                                         ^~
/<<PKGBUILDDIR>>/wmerrors.c:576:32: warning: assignment to ‘zend_string *’ {aka ‘struct _zend_string *’} from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  576 |         PG(last_error_message) = strndup(buffer, buffer_len);
      |                                ^
/<<PKGBUILDDIR>>/wmerrors.c:577:29: warning: assignment to ‘zend_string *’ {aka ‘struct _zend_string *’} from incompatible pointer type ‘char *’ [-Wincompatible-pointer-types]
  577 |         PG(last_error_file) = strdup(error_filename);
      |                             ^
In file included from /<<PKGBUILDDIR>>/wmerrors.c:11:
/<<PKGBUILDDIR>>/php_wmerrors.h:42:40: warning: passing argument 1 of ‘php_stream_open_for_zend_ex’ from incompatible pointer type [-Wincompatible-pointer-types]
   42 | #define WMERRORS_G(v) (wmerrors_globals.v)
      |                       ~~~~~~~~~~~~~~~~~^~~
      |                                        |
      |                                        char *
/<<PKGBUILDDIR>>/wmerrors.c:603:43: note: in expansion of macro ‘WMERRORS_G’
  603 |         ret = php_stream_open_for_zend_ex(WMERRORS_G(error_script_file), &file_handle, STREAM_OPEN_FOR_INCLUDE);
      |                                           ^~~~~~~~~~
In file included from /<<PKGBUILDDIR>>/wmerrors.c:10:
/usr/include/php/20210902/main/php_main.h:43:58: note: expected ‘zend_file_handle *’ {aka ‘struct _zend_file_handle *’} but argument is of type ‘char *’
   43 | PHPAPI int php_stream_open_for_zend_ex(zend_file_handle *handle, int mode);
      |                                        ~~~~~~~~~~~~~~~~~~^~~~~~
/<<PKGBUILDDIR>>/wmerrors.c:603:74: warning: passing argument 2 of ‘php_stream_open_for_zend_ex’ makes integer from pointer without a cast [-Wint-conversion]
  603 |         ret = php_stream_open_for_zend_ex(WMERRORS_G(error_script_file), &file_handle, STREAM_OPEN_FOR_INCLUDE);
      |                                                                          ^~~~~~~~~~~~
      |                                                                          |
      |                                                                          zend_file_handle * {aka struct _zend_file_handle *}
In file included from /<<PKGBUILDDIR>>/wmerrors.c:10:
/usr/include/php/20210902/main/php_main.h:43:70: note: expected ‘int’ but argument is of type ‘zend_file_handle *’ {aka ‘struct _zend_file_handle *’}
   43 | PHPAPI int php_stream_open_for_zend_ex(zend_file_handle *handle, int mode);
      |                                                                  ~~~~^~~~
/<<PKGBUILDDIR>>/wmerrors.c:603:15: error: too many arguments to function ‘php_stream_open_for_zend_ex’
  603 |         ret = php_stream_open_for_zend_ex(WMERRORS_G(error_script_file), &file_handle, STREAM_OPEN_FOR_INCLUDE);
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /<<PKGBUILDDIR>>/wmerrors.c:10:
/usr/include/php/20210902/main/php_main.h:43:12: note: declared here
   43 | PHPAPI int php_stream_open_for_zend_ex(zend_file_handle *handle, int mode);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:201: wmerrors.lo] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'

Downstream task: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1003432

Event Timeline

Change 752361 had a related patch set uploaded (by Legoktm; author: Legoktm):

[mediawiki/php/wmerrors@master] [WIP] Support PHP 8.1

https://gerrit.wikimedia.org/r/752361

Change 752361 merged by jenkins-bot:

[mediawiki/php/wmerrors@master] Support PHP 8.0 and 8.1

https://gerrit.wikimedia.org/r/752361

Legoktm claimed this task.
Legoktm updated the task description. (Show Details)