Bug 250654

Summary: databases/pecl-memcache php80 compile error
Product: Ports & Packages Reporter: Jack <xxjack12xx>
Component: Individual Port(s)Assignee: Po-Chuan Hsieh <sunpoet>
Status: Closed FIXED    
Severity: Affects Only Me Flags: bugzilla: maintainer-feedback? (sunpoet)
Priority: ---    
Version: Latest   
Hardware: amd64   
OS: Any   

Description Jack 2020-10-26 20:40:14 UTC
Compile error when trying to build with php80

/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:43:2: error: expected '}'
        ZEND_ARG_PASS_INFO(0)
        ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:41:1: note: to match this '{'
ZEND_BEGIN_ARG_INFO(arginfo_memcache_get, 1)
^
/usr/local/include/php/Zend/zend_API.h:171:2: note: expanded from macro 'ZEND_BEGIN_ARG_INFO'
        ZEND_BEGIN_ARG_INFO_EX(name, {}, ZEND_RETURN_VALUE, -1)
        ^
/usr/local/include/php/Zend/zend_API.h:168:47: note: expanded from macro 'ZEND_BEGIN_ARG_INFO_EX'
        static const zend_internal_arg_info name[] = { \
                                                     ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:50:2: error: expected '}'
        ZEND_ARG_PASS_INFO(1)
        ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:48:1: note: to match this '{'
ZEND_BEGIN_ARG_INFO(arginfo_memcache_object_get, 1)
^
/usr/local/include/php/Zend/zend_API.h:171:2: note: expanded from macro 'ZEND_BEGIN_ARG_INFO'
        ZEND_BEGIN_ARG_INFO_EX(name, {}, ZEND_RETURN_VALUE, -1)
        ^
/usr/local/include/php/Zend/zend_API.h:168:47: note: expanded from macro 'ZEND_BEGIN_ARG_INFO_EX'
        static const zend_internal_arg_info name[] = { \
                                                     ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:68:2: error: invalid application of 'sizeof' to an incomplete type 'const zend_internal_arg_info []'
        PHP_FE(memcache_get,                                    arginfo_memcache_get)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/php/main/php.h:384:18: note: expanded from macro 'PHP_FE'
#define PHP_FE                  ZEND_FE
                                ^
/usr/local/include/php/Zend/zend_API.h:83:38: note: expanded from macro 'ZEND_FE'
#define ZEND_FE(name, arg_info)                                         ZEND_RAW_FENTRY(#name, zif_##name, arg_info, 0)
                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:77:108: note: expanded from macro 'ZEND_RAW_FENTRY'
#define ZEND_RAW_FENTRY(zend_name, name, arg_info, flags)   { zend_name, name, arg_info, (uint32_t) (sizeof(arg_info)/sizeof(struct _zend_internal_arg_info)-1), flags },
                                                                                                           ^~~~~~~~~~
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:96:2: error: invalid application of 'sizeof' to an incomplete type 'const zend_internal_arg_info []'
        PHP_FALIAS(get,                                         memcache_get,                                           arginfo_memcache_object_get)
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/php/main/php.h:386:21: note: expanded from macro 'PHP_FALIAS'
#define PHP_FALIAS              ZEND_FALIAS
                                ^
/usr/local/include/php/Zend/zend_API.h:85:46: note: expanded from macro 'ZEND_FALIAS'
#define ZEND_FALIAS(name, alias, arg_info)                      ZEND_RAW_FENTRY(#name, zif_##alias, arg_info, 0)
                                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:77:108: note: expanded from macro 'ZEND_RAW_FENTRY'
#define ZEND_RAW_FENTRY(zend_name, name, arg_info, flags)   { zend_name, name, arg_info, (uint32_t) (sizeof(arg_info)/sizeof(struct _zend_internal_arg_info)-1), flags },
                                                                                                           ^~~~~~~~~~
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:272:27: error: expected ')'
                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "memcache.session_prefix_static_key cannot have dot inside (.)");
                                                      ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:272:21: note: to match this '('
                                php_error_docref(NULL TSRMLS_CC, E_WARNING, "memcache.session_prefix_static_key cannot have dot inside (.)");
                                                ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:461:58: error: use of undeclared identifier 'TSRMLS_C'
        MEMCACHE_G(session_key_prefix) = get_session_key_prefix(TSRMLS_C);
                                                                ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:1021:52: warning: incompatible pointer types passing 'zval *' (aka 'struct _zval_struct *') to parameter of type 'zend_object *' (aka 'struct _zend_object *') [-Wincompatible-pointer-types]
                zval *username = zend_read_property(memcache_ce, mmc_object, "username", strlen("username"), 1, &rv1);
                                                                 ^~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:404:73: note: passing argument to parameter 'object' here
ZEND_API zval *zend_read_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_bool silent, zval *rv);
                                                                        ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:1022:52: warning: incompatible pointer types passing 'zval *' (aka 'struct _zval_struct *') to parameter of type 'zend_object *' (aka 'struct _zend_object *') [-Wincompatible-pointer-types]
                zval *password = zend_read_property(memcache_ce, mmc_object, "password", strlen("password"), 1, &rv2);
                                                                 ^~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:404:73: note: passing argument to parameter 'object' here
ZEND_API zval *zend_read_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_bool silent, zval *rv);
                                                                        ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:2244:49: warning: incompatible pointer types passing 'zval *' (aka 'struct _zval_struct *') to parameter of type 'zend_object *' (aka 'struct _zend_object *') [-Wincompatible-pointer-types]
        zend_update_property_stringl(memcache_pool_ce, mmc_object, "username", strlen("username"), user, user_length);
                                                       ^~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:391:82: note: passing argument to parameter 'object' here
ZEND_API void zend_update_property_stringl(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value, size_t value_length);
                                                                                 ^
/usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2/php7/memcache.c:2245:49: warning: incompatible pointer types passing 'zval *' (aka 'struct _zval_struct *') to parameter of type 'zend_object *' (aka 'struct _zend_object *') [-Wincompatible-pointer-types]
        zend_update_property_stringl(memcache_pool_ce, mmc_object, "password", strlen("password"), password, password_length);
                                                       ^~~~~~~~~~
/usr/local/include/php/Zend/zend_API.h:391:82: note: passing argument to parameter 'object' here
ZEND_API void zend_update_property_stringl(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value, size_t value_length);
                                                                                 ^
4 warnings and 6 errors generated.
*** [php7/memcache.lo] Error code 1

make[2]: stopped in /usr/obj/usr/ports/databases/pecl-memcache/work-php80/memcache-4.0.5.2
1 error
Comment 1 Po-Chuan Hsieh freebsd_committer freebsd_triage 2020-11-09 17:11:59 UTC
Fixed in ports r554521.