Latest igbinary update breaks support for igbibary protocol in other pecl/php ports. pecl-memcached, pecl-redis and maybe some other ports are unable to find "src/php7/igbinary.h" and fails to build properly. The following error is being displayed during pecl-memcached build with enabled igbinary support: ------- --- php_memcached.lo --- In file included from /construction/xports/databases/pecl-memcached/work-php72/memcached-3.1.3/php_memcached.c:50: /usr/local/include/php/ext/igbinary/igbinary.h:5:10: fatal error: 'src/php7/igbinary.h' file not found #include "src/php7/igbinary.h" ^~~~~~~~~~~~~~~~~~~~~ 1 error generated. *** [php_memcached.lo] Error code 1 -------
Created attachment 202171 [details] proposed patch for the Makefile This patch will bring back post-patch activity needed to compile other ports with igbinary support, that were removed in the previous commit.
* CC pecl-redis maintainer * pecl-memcache is deprecated (due to php 5.6 eol)
(In reply to Kubilay Kocak from comment #2) Hello Kubilay, Please take a note that there are two ports - one is pecl-memcache and it is deprecated, and another one is pecl-memcached that is fully supported with php7. Also igbinary support is not enabled by default in pecl-redis and pecl-memcached ports. But they will need some header files from pecl-igbinary port to successfully compile when such support is enabled. wbr, Artyom
A commit references this bug: Author: sunpoet Date: Wed Feb 20 20:48:02 UTC 2019 New revision: 493460 URL: https://svnweb.freebsd.org/changeset/ports/493460 Log: Fix build of the dependent ports - Bump PORTREVISION for package change Restore the hack (replacement of igbinary.h and php_igbinary.h) in previous versions. PR: 235869 Submitted by: Artyom Davidov <ard_1@mail.ru> Changes: head/converters/pecl-igbinary/Makefile
Committed. Thanks!
(In reply to Sunpoet Po-Chuan Hsieh from comment #5) Thank you, Sunpoet! But I guess I should mention that it is not really a hack - those files aren't being replaced - they are being copied to the PHP build tree. And these files are being referenced in the files installed by this port in "include/php/ext/igbinary" directory. So we just following the upstream logic of placing these files in the directory structure. wbr, Artyom