As part of preparing for adding Heroku-26 support to this buildpack, I've been performing dry-run builds of all the extensions.
All succeeded apart from ext-phalcon, which fails with errors like:
In file included from /app/.heroku/php/include/php/Zend/zend_types.h:25,
from /app/.heroku/php/include/php/Zend/zend.h:27,
from /app/.heroku/php/include/php/main/php.h:31,
from /tmp/bob-mj5_v3kq/phalcon-5.11.1/phalcon.zep.c:46:
/tmp/bob-mj5_v3kq/phalcon-5.11.1/phalcon.zep.c: In function ‘zim_Phalcon_Tag_getEscaper’:
/app/.heroku/php/include/php/Zend/zend_API.h:1673:60: error: passing argument 2 of ‘zend_parse_arg_array’ from incompatible pointer type [-Wincompatible-pointer-types]
1673 | if (UNEXPECTED(!zend_parse_arg_array(_arg, &dest, check_null, 0))) { \
/app/.heroku/php/include/php/Zend/zend_portability.h:387:52: note: in definition of macro ‘UNEXPECTED’
387 | # define UNEXPECTED(condition) __builtin_expect(!!(condition), 0)
| ^~~~~~~~~
/app/.heroku/php/include/php/Zend/zend_API.h:1680:9: note: in expansion of macro ‘Z_PARAM_ARRAY_EX2’
1680 | Z_PARAM_ARRAY_EX2(dest, check_null, separate, separate)
| ^~~~~~~~~~~~~~~~~
/app/.heroku/php/include/php/Zend/zend_API.h:1683:9: note: in expansion of macro ‘Z_PARAM_ARRAY_EX’
1683 | Z_PARAM_ARRAY_EX(dest, 0, 0)
| ^~~~~~~~~~~~~~~~
/tmp/bob-mj5_v3kq/phalcon-5.11.1/phalcon.zep.c:2210:60: note: in expansion of macro ‘Z_PARAM_ARRAY’
2210 | # define ZEPHIR_Z_PARAM_ARRAY(dest, dest_ptr) Z_PARAM_ARRAY(dest)
| ^~~~~~~~~~~~~
/tmp/bob-mj5_v3kq/phalcon-5.11.1/phalcon.zep.c:14268:17: note: in expansion of macro ‘ZEPHIR_Z_PARAM_ARRAY’
14268 | ZEPHIR_Z_PARAM_ARRAY(params, params_param)
| ^~~~~~~~~~~~~~~~~~~~
In file included from /app/.heroku/php/include/php/main/php.h:35:
/app/.heroku/php/include/php/Zend/zend_API.h:2363:71: note: expected ‘zval **’ {aka ‘struct _zval_struct **’} but argument is of type ‘zval *’ {aka ‘struct _zval_struct *’}
2363 | static zend_always_inline bool zend_parse_arg_array(zval *arg, zval **dest, bool check_null, bool or_object)
| ~~~~~~~^~~~
eg:
https://github.com/heroku/heroku-buildpack-php/actions/runs/24478604131/job/71537306982#step:5:139
This appears to be due to phalcon not being compatible with GCC 14 and newer, and Ubuntu 26.04 shipping with GCC 15 - and is a long time known upstream issue that still hasn't been resolved:
While those issues do contain some workarounds like patching the Makefile, I tend to think that we should perhaps just skip building this package on Heroku-26 for now if it's not compatible with newer GCC. I also see that we already don't build ext-phalcon for PHP 8.5 either (presumably due to phalcon/cphalcon#16808).
As part of preparing for adding Heroku-26 support to this buildpack, I've been performing dry-run builds of all the extensions.
All succeeded apart from
ext-phalcon, which fails with errors like:eg:
https://github.com/heroku/heroku-buildpack-php/actions/runs/24478604131/job/71537306982#step:5:139
This appears to be due to phalcon not being compatible with GCC 14 and newer, and Ubuntu 26.04 shipping with GCC 15 - and is a long time known upstream issue that still hasn't been resolved:
While those issues do contain some workarounds like patching the Makefile, I tend to think that we should perhaps just skip building this package on Heroku-26 for now if it's not compatible with newer GCC. I also see that we already don't build
ext-phalconfor PHP 8.5 either (presumably due to phalcon/cphalcon#16808).