[Buildroot] [PATCH v3] package/php-lua: fix build with PHP8/GCC14
Baruch Siach
baruch at tkos.co.il
Mon Sep 8 13:32:26 UTC 2025
Hi Thomas,
On Mon, Sep 08 2025, Thomas Perale wrote:
> In reply of:
>> On Mon, Sep 08 2025, Thomas Perale via buildroot wrote:
>> > In reply of:
>> >> On both Buildroot 2025.02.x and master branch, php-lua build fails on
>> >> the following error:
>> >>
>> >> lua.c:862:44: error: assignment to 'zend_object_write_property_t' {aka
>> >> 'struct _zval_struct * (*)(struct _zend_object *, struct _zend_string *,
>> >> struct _zval_struct *, void **)'} from incompatible pointer type 'void
>> >> (*)(zval *, zval *, zval *, void **)' {aka 'void (*)(struct _zval_struct
>> >> *, struct _zval_struct *, struct _zval_struct *, void **)'}
>> >> [-Wincompatible-pointer-types]
>> >> 862 | lua_object_handlers.write_property =
>> >> php_lua_write_property;
>> >> | ^
>> >> lua.c:863:44: error: assignment to 'zend_object_read_property_t' {aka
>> >> 'struct _zval_struct * (*)(struct _zend_object *, struct _zend_string *,
>> >> int, void **, struct _zval_struct *)'} from incompatible pointer type
>> >> 'zval * (*)(zval *, zval *, int, void **, zval *)' {aka 'struct
>> >> _zval_struct * (*)(struct _zval_struct *, struct _zval_struct *, int,
>> >> void **, struct _zval_struct *)'} [-Wincompatible-pointer-types]
>> >> 863 | lua_object_handlers.read_property =
>> >> php_lua_read_property;
>> >> | ^
>> >> make[2]: *** [Makefile:214: lua.lo] Error 1
>> >>
>> >> The error can be reproduced with the following minimal defconfig:
>> >>
>> >> BR2_arm=y
>> >> BR2_cortex_a9=y
>> >> BR2_ARM_ENABLE_NEON=y
>> >> BR2_ARM_ENABLE_VFP=y
>> >> BR2_ARM_FPU_NEON=y
>> >> BR2_TOOLCHAIN_EXTERNAL=y
>> >> BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
>> >> BR2_PACKAGE_LUA=y
>> >> BR2_PACKAGE_PHP=y
>> >> BR2_PACKAGE_PHP_LUA=y
>> >>
>> >> This build failure is the result of two events/conditions:
>> >> - the update to PHP8 has changed the prototype for
>> >> zend_object_read_property_t (see [1]). But at this time, php-lua just
>> >> generated a new warning (-Wincompatible-pointer-types)
>> >> - using bootlin bleeding-edge toolchain brings in GCC14, which now turns
>> >> this warning into a systematic error (see [2])
>> >>
>> >> This issue is still present on the upstream repository, but it has been
>> >> fixed on one of its forks. Bring the relevant patch from the fork to
>> >> allow building php-lua.
>> >>
>> >> [1] https://github.com/php/php-src/commit/91ef4124e56
>> >> [2] https://gcc.gnu.org/gcc-14/porting_to.html#incompatible-pointer-types
>> >>
>> >> Signed-off-by: Alexis Lothoré <alexis.lothore at bootlin.com>
>> >
>> > Applied to 2025.02.x & 2025.05.x. Thanks
>>
>> Not in 2025.02.x as of commit 2d5c298d5a35 ("package/iperf3: add patch
>> to fix CVE-2025-54350").
>>
>> Also not in 2025.05.x as of commit 6f191b4dcc80 ("package/cpp-httplib:
>> add patch for CVE-2025-46728").
>
> Indeed, thanks for the message. It was decided to not include this patch in the
> end because it was suspected to be the reason of the following build error
> https://gitlab.com/buildroot.org/buildroot/-/jobs/11176774941
>
> I already had my email reply prepared and forgot to remove this entry before
> sending them to the list when we synced.
Thanks for the clarification.
What about the TestXvisor patch:
https://lore.kernel.org/all/20250908105600.682136-1-thomas.perale@mind.be/
It's not in 2025.02.x/2025.05.x either.
baruch
--
~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -
More information about the buildroot
mailing list