[-- Attachment #1: Type: text/plain, Size: 2025 bytes --] There is a new pull request by repk against master on the void-packages repository https://github.com/repk/void-packages php-opcache-cross https://github.com/void-linux/void-packages/pull/32899 php: Support opcache cross compilation Opcache extension configuration tries to detect some shared memory function by compiling and executing test programs at compile time. This cannot work when cross compiling. To workaround that add proper defines to use those functions anyway if we are cross compiling. That fixes the following error when using opcache extension on arm: Fatal Error Unable to allocate shared memory segment of 134217728 bytes <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [ ] I generally don't use the affected packages but briefly tested this PR <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [x] I built this PR locally for my native architecture, (ARCH-LIBC) - [x] I built this PR locally for these architectures (if supported. mark crossbuilds): - [x] aarch64-musl - [x] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/32899.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-php-opcache-cross-32899.patch --] [-- Type: text/x-diff, Size: 1266 bytes --] From a0610aa6810031604c794a65738494aaabc4a555 Mon Sep 17 00:00:00 2001 From: Remi Pommarel <repk@triplefau.lt> Date: Fri, 10 Sep 2021 00:30:34 +0200 Subject: [PATCH] php: Support opcache cross compilation Opcache extension configuration tries to detect some shared memory function by compiling and executing test programs at compile time. This cannot work when cross compiling. To workaround that add proper defines to use those functions anyway if we are cross compiling. That fixes the following error when using opcache extension on arm: Fatal Error Unable to allocate shared memory segment of 134217728 bytes --- srcpkgs/php/template | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/srcpkgs/php/template b/srcpkgs/php/template index a1390b7e1ec2..cc9569e878e9 100644 --- a/srcpkgs/php/template +++ b/srcpkgs/php/template @@ -23,7 +23,14 @@ replaces="php-mcrypt<7.2.0" if [ -n "$CROSS_BUILD" ]; then # php-pear needs php to build hostmakedepends+=" php" - CFLAGS+=" -DHAVE_LIBDL -DHAVE_DLOPEN -DHAVE_DLSYM" + CFLAGS+=" -DHAVE_LIBDL \ + -DHAVE_DLOPEN \ + -DHAVE_DLSYM + -DHAVE_SHM_IPC \ + -DHAVE_SHM_MMAP_ANON \ + -DHAVE_SHM_MMAP_ZERO \ + -DHAVE_SHM_MMAP_POSIX \ + -DHAVE_SHM_MMAP_FILE" fi do_build() {
[-- Attachment #1: Type: text/plain, Size: 251 bytes --] New review comment by ericonr on void-packages repository https://github.com/void-linux/void-packages/pull/32899#discussion_r707532367 Comment: I think this should work without `\` And consider using one tab + one space for indenting the string.
[-- Attachment #1: Type: text/plain, Size: 2030 bytes --] There is an updated pull request by repk against master on the void-packages repository https://github.com/repk/void-packages php-opcache-cross https://github.com/void-linux/void-packages/pull/32899 php: Support opcache cross compilation Opcache extension configuration tries to detect some shared memory function by compiling and executing test programs at compile time. This cannot work when cross compiling. To workaround that add proper defines to use those functions anyway if we are cross compiling. That fixes the following error when using opcache extension on arm: Fatal Error Unable to allocate shared memory segment of 134217728 bytes <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [ ] I generally don't use the affected packages but briefly tested this PR <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [x] I built this PR locally for my native architecture, (ARCH-LIBC) - [x] I built this PR locally for these architectures (if supported. mark crossbuilds): - [x] aarch64-musl - [x] armv7l - [ ] armv6l-musl --> A patch file from https://github.com/void-linux/void-packages/pull/32899.patch is attached [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: github-pr-php-opcache-cross-32899.patch --] [-- Type: text/x-diff, Size: 1546 bytes --] From 4b6499752e7723ee0a61eadd794413c7705cc3e7 Mon Sep 17 00:00:00 2001 From: Remi Pommarel <repk@triplefau.lt> Date: Fri, 10 Sep 2021 00:30:34 +0200 Subject: [PATCH] php: Support opcache cross compilation Opcache extension configuration tries to detect some shared memory function by compiling and executing test programs at compile time. This cannot work when cross compiling. To workaround that add proper defines to use those functions anyway if we are cross compiling. That fixes the following error when using opcache extension on arm: Fatal Error Unable to allocate shared memory segment of 134217728 bytes --- srcpkgs/php/template | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/srcpkgs/php/template b/srcpkgs/php/template index a1390b7e1ec2..927bbf8504f8 100644 --- a/srcpkgs/php/template +++ b/srcpkgs/php/template @@ -1,7 +1,7 @@ # Template file for 'php' pkgname=php version=7.4.14 -revision=5 +revision=6 hostmakedepends="bison pkg-config apache-devel" makedepends="apache-devel enchant-devel freetds-devel freetype-devel gdbm-devel gmp-devel libcurl-devel libjpeg-turbo-devel libmariadbclient-devel @@ -23,7 +23,14 @@ replaces="php-mcrypt<7.2.0" if [ -n "$CROSS_BUILD" ]; then # php-pear needs php to build hostmakedepends+=" php" - CFLAGS+=" -DHAVE_LIBDL -DHAVE_DLOPEN -DHAVE_DLSYM" + CFLAGS+=" -DHAVE_LIBDL + -DHAVE_DLOPEN + -DHAVE_DLSYM + -DHAVE_SHM_IPC + -DHAVE_SHM_MMAP_ANON + -DHAVE_SHM_MMAP_ZERO + -DHAVE_SHM_MMAP_POSIX + -DHAVE_SHM_MMAP_FILE" fi do_build() {
[-- Attachment #1: Type: text/plain, Size: 148 bytes --] New review comment by repk on void-packages repository https://github.com/void-linux/void-packages/pull/32899#discussion_r711642141 Comment: Done
[-- Attachment #1: Type: text/plain, Size: 171 bytes --] New comment by repk on void-packages repository https://github.com/void-linux/void-packages/pull/32899#issuecomment-940106038 Comment: This has been pushed along #32890
[-- Attachment #1: Type: text/plain, Size: 1870 bytes --] There's a closed pull request on the void-packages repository php: Support opcache cross compilation https://github.com/void-linux/void-packages/pull/32899 Description: Opcache extension configuration tries to detect some shared memory function by compiling and executing test programs at compile time. This cannot work when cross compiling. To workaround that add proper defines to use those functions anyway if we are cross compiling. That fixes the following error when using opcache extension on arm: Fatal Error Unable to allocate shared memory segment of 134217728 bytes <!-- Mark items with [x] where applicable --> #### General - [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements) #### Have the results of the proposed changes been tested? - [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me - [ ] I generally don't use the affected packages but briefly tested this PR <!-- If GitHub CI cannot be used to validate the build result (for example, if the build is likely to take several hours), make sure to [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration). When skipping CI, uncomment and fill out the following section. Note: for builds that are likely to complete in less than 2 hours, it is not acceptable to skip CI. --> <!-- #### Does it build and run successfully? (Please choose at least one native build and, if supported, at least one cross build. More are better.) - [x] I built this PR locally for my native architecture, (ARCH-LIBC) - [x] I built this PR locally for these architectures (if supported. mark crossbuilds): - [x] aarch64-musl - [x] armv7l - [ ] armv6l-musl -->