Bug 222165

Summary: lang/php71: PECL ports fail to build with 7.1
Product: Ports & Packages Reporter: Bernard Spil <brnrd>
Component: Individual Port(s)Assignee: Torsten Zuehlsdorff <tz>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (tz)
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description Bernard Spil freebsd_committer freebsd_triage 2017-09-09 09:47:02 UTC
Currently running a full ports tree build with DEFAULT_VERSIONS=php=71 and I see many PECL ports failing. Errors are similar for many of these, I think there's 3 errors:

> error: unknown type name 'zend_object_value'

and

> error: too many arguments to function call, expected 3, have 5

and

> fatal error: 'ext/standard/php_smart_str.h' file not found
Comment 1 Bernard Spil freebsd_committer freebsd_triage 2017-09-09 18:55:11 UTC
List not caused by php_smart_str.h (5.x only) include

databases/pecl-chdb
databases/pecl-drizzle
databases/pecl-leveldb
databases/pecl-tokyo_tyrant
devel/pecl-expect
devel/pecl-jsonnet
devel/pecl-propro
devel/pecl-qb
devel/pecl-raphf
devel/pecl-runkit
devel/pecl-strict
devel/pecl-trace
devel/pecl-uopz
devel/pecl-weakref
graphics/pecl-imlib2
math/pecl-trader
net/pecl-apn
net/pecl-ip2location
net/pecl-mosquitto
net/pecl-yp
print/pecl-ps
security/pecl-crack
textproc/pecl-xslcache
www/pecl-http1
Comment 2 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2017-09-11 07:46:48 UTC
Yeah, after some short tests the ports fall into two categories:

1) the are undated/unmaintained and just did not work with PHP 7 (like databases/pecl-drizzle)

2) there is a new version supporting PHP 7, but the old version is not marked as "ignore with PHP 7". For example devel/pecl-raphf and devel/pecl-raphf2

I'm currently working on PHP 7.2 and changing the default of PHP from 5.6 to 7.1. I will add this to my TODO list!
Comment 3 commit-hook freebsd_committer freebsd_triage 2017-12-14 13:58:15 UTC
A commit references this bug:

Author: tz
Date: Thu Dec 14 13:57:37 UTC 2017
New revision: 456296
URL: https://svnweb.freebsd.org/changeset/ports/456296

Log:
  Add missing IGNORE_WITH_PHP for various pecl-ports.

  After testing every pecl-* port with PHP 5.6, 7.0, 7.1 and 7.2
  i set the IGNORE_WITH_PHP accordingly to the fallout.

  PR:          222165
  Reported by: brnd
  Approved by: portmgr (blanket)
  Differential Revision: https://reviews.freebsd.org/D13476

Changes:
  head/archivers/pecl-phk/Makefile
  head/converters/pecl-fribidi/Makefile
  head/databases/pecl-chdb/Makefile
  head/databases/pecl-drizzle/Makefile
  head/databases/pecl-leveldb/Makefile
  head/databases/pecl-mongo/Makefile
  head/databases/pecl-pdo_user/Makefile
  head/databases/pecl-rrd1/Makefile
  head/databases/pecl-tokyo_tyrant/Makefile
  head/devel/pecl-APCu4/Makefile
  head/devel/pecl-dio/Makefile
  head/devel/pecl-expect/Makefile
  head/devel/pecl-gearman/Makefile
  head/devel/pecl-htscanner/Makefile
  head/devel/pecl-inotify/Makefile
  head/devel/pecl-jsmin/Makefile
  head/devel/pecl-jsonc/Makefile
  head/devel/pecl-jsond/Makefile
  head/devel/pecl-jsonnet/Makefile
  head/devel/pecl-judy/Makefile
  head/devel/pecl-libevent/Makefile
  head/devel/pecl-memoize/Makefile
  head/devel/pecl-msgpack0/Makefile
  head/devel/pecl-ncurses/Makefile
  head/devel/pecl-newt/Makefile
  head/devel/pecl-params/Makefile
  head/devel/pecl-propro/Makefile
  head/devel/pecl-qb/Makefile
  head/devel/pecl-raphf/Makefile
  head/devel/pecl-request/Makefile
  head/devel/pecl-runkit/Makefile
  head/devel/pecl-scream/Makefile
  head/devel/pecl-spl_types/Makefile
  head/devel/pecl-statgrab/Makefile
  head/devel/pecl-strict/Makefile
  head/devel/pecl-svn/Makefile
  head/devel/pecl-test_helpers/Makefile
  head/devel/pecl-trace/Makefile
  head/devel/pecl-uopz/Makefile
  head/devel/pecl-uploadprogress/Makefile
  head/devel/pecl-uri_template/Makefile
  head/devel/pecl-weakref/Makefile
  head/devel/pecl-xhprof/Makefile
  head/devel/pecl-yac/Makefile
  head/devel/pecl-yaconf/Makefile
  head/graphics/pecl-gmagick/Makefile
  head/graphics/pecl-imlib2/Makefile
  head/lang/pecl-perl/Makefile
  head/mail/pecl-mailparse2/Makefile
  head/mail/pecl-pop3/Makefile
  head/math/pecl-big_int/Makefile
  head/math/pecl-stats/Makefile
  head/math/pecl-trader/Makefile
  head/net/pecl-apn/Makefile
  head/net/pecl-ip2location/Makefile
  head/net/pecl-mosquitto/Makefile
  head/net/pecl-oauth/Makefile
  head/net/pecl-yp/Makefile
  head/net-im/pecl-stomp/Makefile
  head/print/pecl-haru/Makefile
  head/print/pecl-ps/Makefile
  head/security/pecl-crack/Makefile
  head/security/pecl-pam/Makefile
  head/security/pecl-ssh2-0/Makefile
  head/sysutils/pecl-mogilefs/Makefile
  head/textproc/pecl-ctemplate/Makefile
  head/textproc/pecl-doublemetaphone/Makefile
  head/textproc/pecl-stem/Makefile
  head/textproc/pecl-syck/Makefile
  head/textproc/pecl-wbxml/Makefile
  head/textproc/pecl-xdiff/Makefile
  head/textproc/pecl-xslcache/Makefile
  head/textproc/pecl-yaml1/Makefile
  head/www/pecl-amfext/Makefile
  head/www/pecl-http1/Makefile
  head/www/pecl-solr/Makefile
  head/www/pecl-sphinx/Makefile
  head/www/pecl-swish/Makefile
  head/www/pecl-twig/Makefile
  head/www/pecl-yaf2/Makefile
  head/www/pecl-yar/Makefile
  head/www/pecl-yar1/Makefile
Comment 4 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2017-12-14 13:59:48 UTC
I set the IGNORE_WITH_PHP now for every pecl-* port. This will make clear, that the ports are not supposed to work.