Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP8.0 编译失败 #72

Closed
fdreamsu opened this issue Jan 8, 2021 · 0 comments
Closed

PHP8.0 编译失败 #72

fdreamsu opened this issue Jan 8, 2021 · 0 comments

Comments

@fdreamsu
Copy link

fdreamsu commented Jan 8, 2021

因为报错过长,这里只放了后面一部分

In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
make[2]: *** [CMakeFiles/phpx_static.dir/build.make:63: CMakeFiles/phpx_static.dir/src/array.o] Error 1
/opt/m/phpx/src/class.cc: In member function 'bool php::Class::activate()':
/opt/m/phpx/src/class.cc:177:47: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_class(&_ce TSRMLS_CC);
                                          ~    ^~~~~~~~~~
                                               )
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/phpx_static.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 22%] Building CXX object CMakeFiles/phpx.dir/src/exec.o
/opt/m/phpx/src/base.cc: In function 'bool php::define(const char*, const php::Variant&, bool)':
/opt/m/phpx/src/base.cc:227:34: error: 'const zend_object_handlers' {aka 'const struct _zend_object_handlers'} has no member named 'get'; did you mean 'get_gc'?
             if (Z_OBJ_HT_P(val)->get)
                                  ^~~
                                  get_gc
/opt/m/phpx/src/base.cc:230:40: error: 'const zend_object_handlers' {aka 'const struct _zend_object_handlers'} has no member named 'get'; did you mean 'get_gc'?
                 val = Z_OBJ_HT_P(val)->get(val, &rv);
                                        ^~~
                                        get_gc
/opt/m/phpx/src/base.cc:236:75: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'} in argument passing
                 if (Z_OBJ_HT_P(val)->cast_object(val, &val_free, IS_STRING) == SUCCESS)
                                                                           ^
/opt/m/phpx/src/base.cc: In function 'ZEND_RESULT_CODE php::_check_args_num(zend_execute_data*, int)':
/opt/m/phpx/src/base.cc:382:9: error: 'zend_wrong_paramers_count_error' was not declared in this scope
         zend_wrong_paramers_count_error(num_args, min_num_args, max_num_args);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/m/phpx/src/base.cc:382:9: note: suggested alternative: 'zend_wrong_parameters_count_error'
         zend_wrong_paramers_count_error(num_args, min_num_args, max_num_args);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         zend_wrong_parameters_count_error
make[2]: *** [CMakeFiles/phpx.dir/build.make:63: CMakeFiles/phpx.dir/src/array.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/phpx.dir/build.make:89: CMakeFiles/phpx.dir/src/class.o] Error 1
make[2]: *** [CMakeFiles/phpx.dir/build.make:76: CMakeFiles/phpx.dir/src/base.o] Error 1
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
make[2]: *** [CMakeFiles/phpx.dir/build.make:102: CMakeFiles/phpx.dir/src/exec.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/phpx.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
[root@11ffc26fd4a5 phpx]# ls
CMakeCache.txt  LICENSE    aliyun_rocker_mq  build.sh             examples              lib       phpinfo.php  script
CMakeFiles      Makefile   bin               cmake_install.cmake  include               logo.png  phpx.phar    src
CMakeLists.txt  README.md  build             console              install_manifest.txt  mango     rocketmq
[root@11ffc26fd4a5 phpx]# make -j 4
Scanning dependencies of target phpx
Scanning dependencies of target phpx_static
[ 13%] Building CXX object CMakeFiles/phpx.dir/src/array.o
[ 13%] Building CXX object CMakeFiles/phpx.dir/src/base.o
[ 13%] Building CXX object CMakeFiles/phpx.dir/src/class.o
[ 18%] Building CXX object CMakeFiles/phpx_static.dir/src/array.o
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/base.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/base.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/class.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/class.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, double)':
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/array.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
In file included from /opt/m/phpx/src/array.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/src/base.cc: In function 'bool php::define(const char*, const php::Variant&, bool)':
/opt/m/phpx/src/base.cc:227:34: error: 'const zend_object_handlers' {aka 'const struct _zend_object_handlers'} has no member named 'get'; did you mean 'get_gc'?
             if (Z_OBJ_HT_P(val)->get)
                                  ^~~
                                  get_gc
/opt/m/phpx/src/base.cc:230:40: error: 'const zend_object_handlers' {aka 'const struct _zend_object_handlers'} has no member named 'get'; did you mean 'get_gc'?
                 val = Z_OBJ_HT_P(val)->get(val, &rv);
                                        ^~~
                                        get_gc
/opt/m/phpx/src/base.cc:236:75: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'} in argument passing
                 if (Z_OBJ_HT_P(val)->cast_object(val, &val_free, IS_STRING) == SUCCESS)
                                                                           ^
/opt/m/phpx/src/class.cc: In member function 'bool php::Class::activate()':
/opt/m/phpx/src/class.cc:177:47: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_class(&_ce TSRMLS_CC);
                                          ~    ^~~~~~~~~~
                                               )
/opt/m/phpx/src/base.cc: In function 'ZEND_RESULT_CODE php::_check_args_num(zend_execute_data*, int)':
/opt/m/phpx/src/base.cc:382:9: error: 'zend_wrong_paramers_count_error' was not declared in this scope
         zend_wrong_paramers_count_error(num_args, min_num_args, max_num_args);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/src/base.cc:382:9: note: suggested alternative: 'zend_wrong_parameters_count_error'
         zend_wrong_paramers_count_error(num_args, min_num_args, max_num_args);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         zend_wrong_parameters_count_error
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
make[2]: *** [CMakeFiles/phpx_static.dir/build.make:63: CMakeFiles/phpx_static.dir/src/array.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/phpx_static.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 22%] Building CXX object CMakeFiles/phpx.dir/src/exec.o
make[2]: *** [CMakeFiles/phpx.dir/build.make:63: CMakeFiles/phpx.dir/src/array.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/phpx.dir/build.make:89: CMakeFiles/phpx.dir/src/class.o] Error 1
make[2]: *** [CMakeFiles/phpx.dir/build.make:76: CMakeFiles/phpx.dir/src/base.o] Error 1
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::String php::Array::join(php::String&)':
/opt/m/phpx/include/phpx.h:1049:37: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'HashTable*' {aka '_zend_array*'}
         php_implode(delim.ptr(), ptr(), retval.ptr());
                                  ~~~^~
In file included from /usr/local/php8/include/php/ext/standard/php_standard.h:19,
                 from /opt/m/phpx/include/phpx.h:46,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/ext/standard/php_string.h:56:62: note:   initializing argument 2 of 'void php_implode(const zend_string*, HashTable*, zval*)'
 PHPAPI void php_implode(const zend_string *delim, HashTable *arr, zval *return_value);
                                                   ~~~~~~~~~~~^~~
In file included from /usr/local/php8/include/php/Zend/zend.h:33,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'bool php::Array::sort()':
/opt/m/phpx/include/phpx.h:1059:50: error: invalid conversion from 'int (*)(const void*, const void*)' to 'bucket_compare_func_t' {aka 'int (*)(_Bucket*, _Bucket*)'} [-fpermissive]
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
                                                  ^~~~~~~~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:272:35: note: in definition of macro 'zend_hash_sort'
  zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
                                   ^~~~~~~~~~~~
/usr/local/php8/include/php/Zend/zend_hash.h:268:108: note:   initializing argument 3 of 'void zend_hash_sort_ex(HashTable*, sort_func_t, bucket_compare_func_t, zend_bool)'
 ZEND_API void  ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, bucket_compare_func_t compare_func, zend_bool renumber);
                                                                                      ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1059:73: error: no match for 'operator==' (operand types are 'void' and 'ZEND_RESULT_CODE')
         return zend_hash_sort(Z_ARRVAL_P(ptr()), array_data_compare, 1) == SUCCESS;
/opt/m/phpx/include/phpx.h: In destructor 'php::ArgInfo::~ArgInfo()':
/opt/m/phpx/include/phpx.h:1174:17: error: 'ZEND_TYPE_IS_CLASS' was not declared in this scope
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1174:17: note: suggested alternative: 'ZEND_TYPE_HAS_CLASS'
             if (ZEND_TYPE_IS_CLASS(info[i].type))
                 ^~~~~~~~~~~~~~~~~~
                 ZEND_TYPE_HAS_CLASS
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1176:39: error: invalid cast from type 'zend_type' to type 'void*'
                 efree((void* )info[i].type);
                                       ^~~~
/usr/local/php8/include/php/Zend/zend_alloc.h:161:34: note: in definition of macro 'efree'
 #define efree(ptr)       _efree((ptr) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                  ^~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::ArgInfo::add(const char*, const char*, int, bool, bool, bool)':
/opt/m/phpx/include/phpx.h:1195:36: error: no matching function for call to 'zend_type::zend_type(char*&)'
                 type = (zend_type) _s;
                                    ^~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /usr/local/php8/include/php/Zend/zend.h:30,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_alloc.h:170:80: error: no matching function for call to 'zend_type::zend_type(char*)'
 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC ZEND_FILE_LINE_EMPTY_CC)
                                                                                ^
/opt/m/phpx/include/phpx.h:1199:36: note: in expansion of macro 'estrdup'
                 type = (zend_type) estrdup(class_name);
                                    ^~~~~~~
In file included from /usr/local/php8/include/php/Zend/zend.h:27,
                 from /usr/local/php8/include/php/main/php.h:31,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'zend_type::zend_type()'
 } zend_type;
   ^~~~~~~~~
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   candidate expects 0 arguments, 1 provided
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(const zend_type&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'const zend_type&'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note: candidate: 'constexpr zend_type::zend_type(zend_type&&)'
/usr/local/php8/include/php/Zend/zend_types.h:134:3: note:   no known conversion for argument 1 from 'char*' to 'zend_type&&'
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1204:20: error: 'ZEND_TYPE_ENCODE' was not declared in this scope
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1204:20: note: suggested alternative: 'ZEND_TYPE_CE'
             type = ZEND_TYPE_ENCODE(type_hint, allow_null);
                    ^~~~~~~~~~~~~~~~
                    ZEND_TYPE_CE
/opt/m/phpx/include/phpx.h:1207:52: error: too many initializers for 'zend_internal_arg_info' {aka '_zend_internal_arg_info'}
         { name, type, pass_by_reference, variadic, };
                                                    ^
/opt/m/phpx/include/phpx.h: In member function 'zend_internal_arg_info* php::ArgInfo::get()':
/opt/m/phpx/include/phpx.h:1227:18: error: 'zend_internal_arg_info' {aka 'struct _zend_internal_arg_info'} has no member named 'pass_by_reference'
         _info[0].pass_by_reference = return_reference;
                  ^~~~~~~~~~~~~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In function 'void php::throwException(const char*, const char*, int)':
/opt/m/phpx/include/phpx.h:1302:43: error: expected ')' before 'TSRMLS_CC'
     zend_throw_exception(ce, message, code TSRMLS_CC);
                         ~                 ^~~~~~~~~~
                                           )
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*)':
/opt/m/phpx/include/phpx.h:1359:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_0_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr());
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:44:19: note: in definition of macro 'zend_call_method_with_0_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 0, NULL, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1365:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_1_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:47:19: note: in definition of macro 'zend_call_method_with_1_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 1, arg1, NULL)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::callParentMethod(const char*, const php::Variant&, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1373:43: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_call_method_with_2_params(ptr(), Z_OBJCE_P(ptr())->parent, NULL, func, retval.ptr(),
                                        ~~~^~
/usr/local/php8/include/php/Zend/zend_interfaces.h:50:19: note: in definition of macro 'zend_call_method_with_2_params'
  zend_call_method(obj, obj_ce, fn_proxy, function_name, sizeof(function_name)-1, retval, 2, arg1, arg2)
                   ^~~
In file included from /opt/m/phpx/include/phpx.h:34,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_interfaces.h:41:46: note:   initializing argument 1 of 'zval* zend_call_method(zend_object*, zend_class_entry*, zend_function**, const char*, size_t, zval*, uint32_t, zval*, zval*)'
 ZEND_API zval* zend_call_method(zend_object *object, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, uint32_t param_count, zval* arg1, zval* arg2);
                                 ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'php::Variant php::Object::get(const char*)':
/opt/m/phpx/include/phpx.h:1400:66: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zval *member_p = zend_read_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), 0, &rv);
                                                               ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:407:73: note:   initializing argument 2 of 'zval* zend_read_property(zend_class_entry*, zend_object*, const char*, size_t, zend_bool, zval*)'
 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);
                                                            ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const php::Variant&)':
/opt/m/phpx/include/phpx.h:1413:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), const_cast<Variant &>(v).ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, php::Array&)':
/opt/m/phpx/include/phpx.h:1417:51: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.ptr());
                                                ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:387:74: note:   initializing argument 2 of 'void zend_update_property(zend_class_entry*, zend_object*, const char*, size_t, zval*)'
 ZEND_API void zend_update_property(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zval *value);
                                                             ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string&)':
/opt/m/phpx/include/phpx.h:1421:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, std::__cxx11::string)':
/opt/m/phpx/include/phpx.h:1425:59: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_stringl(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v.c_str(), v.length());
                                                        ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:394:82: note:   initializing argument 2 of 'void zend_update_property_stringl(zend_class_entry*, zend_object*, const char*, size_t, const char*, size_t)'
 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);
                                                                     ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, const char*)':
/opt/m/phpx/include/phpx.h:1429:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_string(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:393:81: note:   initializing argument 2 of 'void zend_update_property_string(zend_class_entry*, zend_object*, const char*, size_t, const char*)'
 ZEND_API void zend_update_property_string(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, const char *value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, int)':
/opt/m/phpx/include/phpx.h:1433:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, long int)':
/opt/m/phpx/include/phpx.h:1437:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_long(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
/usr/local/php8/include/php/Zend/zend_API.h:390:79: note:   initializing argument 2 of 'void zend_update_property_long(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_long(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h:1441:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, float)':
/opt/m/phpx/include/phpx.h:1445:58: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_double(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), (double) v);
                                                       ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:391:81: note:   initializing argument 2 of 'void zend_update_property_double(zend_class_entry*, zend_object*, const char*, size_t, double)'
 ZEND_API void zend_update_property_double(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, double value);
                                                                    ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: In member function 'void php::Object::set(const char*, bool)':
/opt/m/phpx/include/phpx.h:1449:56: error: cannot convert 'zval*' {aka '_zval_struct*'} to 'zend_object*' {aka '_zend_object*'}
         zend_update_property_bool(Z_OBJCE_P(ptr()), ptr(), name, strlen(name), v ? 1 : 0);
                                                     ~~~^~
In file included from /usr/local/php8/include/php/main/php.h:35,
                 from /opt/m/phpx/include/phpx.h:21,
                 from /opt/m/phpx/src/exec.cc:17:
/usr/local/php8/include/php/Zend/zend_API.h:389:79: note:   initializing argument 2 of 'void zend_update_property_bool(zend_class_entry*, zend_object*, const char*, size_t, zend_long)'
 ZEND_API void zend_update_property_bool(zend_class_entry *scope, zend_object *object, const char *name, size_t name_length, zend_long value);
                                                                  ~~~~~~~~~~~~~^~~~~~
In file included from /opt/m/phpx/src/exec.cc:17:
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1584:16: error: 'ZEND_ACC_DTOR' was not declared in this scope
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
/opt/m/phpx/include/phpx.h:1584:16: note: suggested alternative: 'ZEND_ACC_CTOR'
     DESTRUCT = ZEND_ACC_DTOR,
                ^~~~~~~~~~~~~
                ZEND_ACC_CTOR
/opt/m/phpx/include/phpx.h: In member function 'bool php::Interface::activate()':
/opt/m/phpx/include/phpx.h:1748:51: error: expected ')' before 'TSRMLS_CC'
         ce = zend_register_internal_interface(&_ce TSRMLS_CC);
                                              ~    ^~~~~~~~~~
                                                   )
/opt/m/phpx/include/phpx.h: At global scope:
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
     };
     ^
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
/opt/m/phpx/include/phpx.h:1794:5: error: invalid conversion from 'int (*)(int, int)' to 'zend_result (*)(int, int)' {aka 'ZEND_RESULT_CODE (*)(int, int)'} [-fpermissive]
make[2]: *** [CMakeFiles/phpx.dir/build.make:102: CMakeFiles/phpx.dir/src/exec.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/phpx.dir/all] Error 2
make: *** [Makefile:130: all] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant