Uploaded image for project: 'Couchbase PHP client library'
  1. Couchbase PHP client library
  2. PCBC-951

Failed to Install v4.1.5 on PHP 7.4

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Major
    • None
    • 4.1.5
    • extension
    • None
    • 0

    Description

      I tried to install v4.1.5 on different versions of PHP so that I could run some initial tests with it.

      The latest stable release of Couchbase (v4.1.5) can be successfully installed on PHP 8.0, 8.1, and PHP 8.2. However, it fails when installing on PHP 7.4.

      Please note that v4.1.4 can be installed on PHP 7.4 without any issue.

      Here are part of the output when running command "{+}make -j$(nproc){+}" to install Couchbase v4.1.5 on PHP 7.4:

      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:67:42: error: 'message' was not declared in this scope
         67 | ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 0, "\"\"")
            |                                          ^~~~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:67:1: error: 'ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE' was not declared in this scope
         67 | ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, message, IS_STRING, 0, "\"\"")
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:68:1: error: expected '}' before 'ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE'
         68 | ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, code, IS_LONG, 0, "0")
            | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      In file included from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_API.h:122:47: note: to match this '{'
        122 |  static const zend_internal_arg_info name[] = { \
            |                                               ^
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:66:1: note: in expansion of macro 'ZEND_BEGIN_ARG_INFO_EX'
         66 | ZEND_BEGIN_ARG_INFO_EX(ai_Exception___construct, 0, 0, 0)
            | ^~~~~~~~~~~~~~~~~~~~~~
      /usr/local/include/php/Zend/zend_API.h:126:30: error: expected declaration before '}' token
        126 | #define ZEND_END_ARG_INFO()  };
            |                              ^
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:71:1: note: in expansion of macro 'ZEND_END_ARG_INFO'
         71 | ZEND_END_ARG_INFO()
            | ^~~~~~~~~~~~~~~~~
      In file included from /usr/local/include/php/Zend/zend.h:27,
                       from /usr/local/include/php/Zend/zend_modules.h:23,
                       from /usr/local/include/php/Zend/zend_API.h:25,
                       from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx: In function 'void zim_CouchbaseException___construct(zend_execute_data*, zval*)':
      /usr/local/include/php/Zend/zend_types.h:701:38: error: cannot convert 'zend_object*' {aka '_zend_object*'} to 'zval*' {aka '_zval_struct*'}
        701 | #define Z_OBJ(zval)     (zval).value.obj
            |                         ~~~~~~~~~~~~~^~~
            |                                      |
            |                                      zend_object* {aka _zend_object*}
      /usr/local/include/php/Zend/zend_types.h:702:28: note: in expansion of macro 'Z_OBJ'
        702 | #define Z_OBJ_P(zval_p)    Z_OBJ(*(zval_p))
            |                            ^~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:98:52: note: in expansion of macro 'Z_OBJ_P'
         98 |         zend_update_property_ex(zend_ce_exception, Z_OBJ_P(object), ZSTR_KNOWN(ZEND_STR_MESSAGE), &tmp);
            |                                                    ^~~~~~~
      In file included from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_API.h:337:70: note:   initializing argument 2 of 'void zend_update_property_ex(zend_class_entry*, zval*, zend_string*, zval*)'
        337 | ZEND_API void zend_update_property_ex(zend_class_entry *scope, zval *object, zend_string *name, zval *value);
            |                                                                ~~~~~~^~~~~~
      In file included from /usr/local/include/php/Zend/zend.h:27,
                       from /usr/local/include/php/Zend/zend_modules.h:23,
                       from /usr/local/include/php/Zend/zend_API.h:25,
                       from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_types.h:701:38: error: cannot convert 'zend_object*' {aka '_zend_object*'} to 'zval*' {aka '_zval_struct*'}
        701 | #define Z_OBJ(zval)     (zval).value.obj
            |                         ~~~~~~~~~~~~~^~~
            |                                      |
            |                                      zend_object* {aka _zend_object*}
      /usr/local/include/php/Zend/zend_types.h:702:28: note: in expansion of macro 'Z_OBJ'
        702 | #define Z_OBJ_P(zval_p)    Z_OBJ(*(zval_p))
            |                            ^~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:104:52: note: in expansion of macro 'Z_OBJ_P'
        104 |         zend_update_property_ex(zend_ce_exception, Z_OBJ_P(object), ZSTR_KNOWN(ZEND_STR_CODE), &tmp);
            |                                                    ^~~~~~~
      In file included from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_API.h:337:70: note:   initializing argument 2 of 'void zend_update_property_ex(zend_class_entry*, zval*, zend_string*, zval*)'
        337 | ZEND_API void zend_update_property_ex(zend_class_entry *scope, zval *object, zend_string *name, zval *value);
            |                                                                ~~~~~~^~~~~~
      In file included from /usr/local/include/php/Zend/zend.h:27,
                       from /usr/local/include/php/Zend/zend_modules.h:23,
                       from /usr/local/include/php/Zend/zend_API.h:25,
                       from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_types.h:701:38: error: cannot convert 'zend_object*' {aka '_zend_object*'} to 'zval*' {aka '_zval_struct*'}
        701 | #define Z_OBJ(zval)     (zval).value.obj
            |                         ~~~~~~~~~~~~~^~~
            |                                      |
            |                                      zend_object* {aka _zend_object*}
      /usr/local/include/php/Zend/zend_types.h:702:28: note: in expansion of macro 'Z_OBJ'
        702 | #define Z_OBJ_P(zval_p)    Z_OBJ(*(zval_p))
            |                            ^~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:108:52: note: in expansion of macro 'Z_OBJ_P'
        108 |         zend_update_property_ex(zend_ce_exception, Z_OBJ_P(object), ZSTR_KNOWN(ZEND_STR_PREVIOUS), previous);
            |                                                    ^~~~~~~
      In file included from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_API.h:337:70: note:   initializing argument 2 of 'void zend_update_property_ex(zend_class_entry*, zval*, zend_string*, zval*)'
        337 | ZEND_API void zend_update_property_ex(zend_class_entry *scope, zval *object, zend_string *name, zval *value);
            |                                                                ~~~~~~^~~~~~
      In file included from /usr/local/include/php/Zend/zend.h:27,
                       from /usr/local/include/php/Zend/zend_modules.h:23,
                       from /usr/local/include/php/Zend/zend_API.h:25,
                       from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_types.h:701:38: error: cannot convert 'zend_object*' {aka '_zend_object*'} to 'zval*' {aka '_zval_struct*'}
        701 | #define Z_OBJ(zval)     (zval).value.obj
            |                         ~~~~~~~~~~~~~^~~
            |                                      |
            |                                      zend_object* {aka _zend_object*}
      /usr/local/include/php/Zend/zend_types.h:702:28: note: in expansion of macro 'Z_OBJ'
        702 | #define Z_OBJ_P(zval_p)    Z_OBJ(*(zval_p))
            |                            ^~~~~
      /var/www/couchbase-4.1.5/src/php_couchbase.cxx:113:72: note: in expansion of macro 'Z_OBJ_P'
        113 |         zend_update_property_ex(couchbase::php::couchbase_exception(), Z_OBJ_P(object), property_context_name, context);
            |                                                                        ^~~~~~~
      In file included from /var/www/couchbase-4.1.5/src/wrapper/common.hxx:28,
                       from /var/www/couchbase-4.1.5/src/php_couchbase.cxx:17:
      /usr/local/include/php/Zend/zend_API.h:337:70: note:   initializing argument 2 of 'void zend_update_property_ex(zend_class_entry*, zval*, zend_string*, zval*)'
        337 | ZEND_API void zend_update_property_ex(zend_class_entry *scope, zval *object, zend_string *name, zval *value);
            |                                                                ~~~~~~^~~~~~

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            avsej Sergey Avseyev
            deminy Demin Yin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty