{"action":"created","issue":{"url":"https://api.github.com/repos/grpc/grpc/issues/4575","labels_url":"https://api.github.com/repos/grpc/grpc/issues/4575/labels{/name}","comments_url":"https://api.github.com/repos/grpc/grpc/issues/4575/comments","events_url":"https://api.github.com/repos/grpc/grpc/issues/4575/events","html_url":"https://github.com/grpc/grpc/issues/4575","id":123860049,"number":4575,"title":"make extension failed on php7？","user":{"login":"2050SXZ","id":15893124,"avatar_url":"https://avatars.githubusercontent.com/u/15893124?v=3","gravatar_id":"","url":"https://api.github.com/users/2050SXZ","html_url":"https://github.com/2050SXZ","followers_url":"https://api.github.com/users/2050SXZ/followers","following_url":"https://api.github.com/users/2050SXZ/following{/other_user}","gists_url":"https://api.github.com/users/2050SXZ/gists{/gist_id}","starred_url":"https://api.github.com/users/2050SXZ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/2050SXZ/subscriptions","organizations_url":"https://api.github.com/users/2050SXZ/orgs","repos_url":"https://api.github.com/users/2050SXZ/repos","events_url":"https://api.github.com/users/2050SXZ/events{/privacy}","received_events_url":"https://api.github.com/users/2050SXZ/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/grpc/grpc/labels/php","name":"php","color":"5319e7"}],"state":"closed","locked":false,"assignee":{"login":"stanley-cheung","id":11674202,"avatar_url":"https://avatars.githubusercontent.com/u/11674202?v=3","gravatar_id":"","url":"https://api.github.com/users/stanley-cheung","html_url":"https://github.com/stanley-cheung","followers_url":"https://api.github.com/users/stanley-cheung/followers","following_url":"https://api.github.com/users/stanley-cheung/following{/other_user}","gists_url":"https://api.github.com/users/stanley-cheung/gists{/gist_id}","starred_url":"https://api.github.com/users/stanley-cheung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stanley-cheung/subscriptions","organizations_url":"https://api.github.com/users/stanley-cheung/orgs","repos_url":"https://api.github.com/users/stanley-cheung/repos","events_url":"https://api.github.com/users/stanley-cheung/events{/privacy}","received_events_url":"https://api.github.com/users/stanley-cheung/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-12-25T07:09:15Z","updated_at":"2015-12-29T01:50:02Z","closed_at":"2015-12-29T01:50:02Z","body":"Hello everyone, I follow the installation notes to make the grpc extension, it works on php5.6 environment，but failed on php7 environment，here is the build log：\r\n```\r\n/bin/bash /tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/libtool --mode=compile cc -Wall -Werror -std=c11 -I. -I/tmp/pear/temp/grpc -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/include -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/main -I/tmp/pear/temp/grpc -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/temp/grpc/byte_buffer.c -o byte_buffer.lo\r\nmkdir .libs\r\n cc -Wall -Werror -std=c11 -I. -I/tmp/pear/temp/grpc -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/include -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/main -I/tmp/pear/temp/grpc -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/grpc/byte_buffer.c  -fPIC -DPIC -o .libs/byte_buffer.o\r\n/bin/bash /tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/libtool --mode=compile cc -Wall -Werror -std=c11 -I. -I/tmp/pear/temp/grpc -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/include -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/main -I/tmp/pear/temp/grpc -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/temp/grpc/call.c -o call.lo\r\n cc -Wall -Werror -std=c11 -I. -I/tmp/pear/temp/grpc -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/include -I/tmp/pear/temp/pear-build-rootGB5Mnk/grpc-0.6.1/main -I/tmp/pear/temp/grpc -I/usr/local/php/include/php -I/usr/local/php/include/php/main -I/usr/local/php/include/php/TSRM -I/usr/local/php/include/php/Zend -I/usr/local/php/include/php/ext -I/usr/local/php/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/grpc/call.c  -fPIC -DPIC -o .libs/call.o\r\n/tmp/pear/temp/grpc/call.c:73:1: error: unknown type name ‘zend_object_value’\r\n zend_object_value create_wrapped_grpc_call(zend_class_entry *class_type\r\n Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘create_wrapped_grpc_call’:\r\n/tmp/pear/temp/grpc/call.c:75:3: error: unknown type name ‘zend_object_value’\r\n   zend_object_value retval;\r\n   Ü\r\n/tmp/pear/temp/grpc/call.c:83:9: error: request for member ‘handle’ in something not a structure or union\r\n   retval.handle = zend_objects_store_put(\r\n         Ü\r\n/tmp/pear/temp/grpc/call.c:84:16: error: ‘zend_objects_store_dtor_t’ undeclared (first use in this function)\r\n       intern, (zend_objects_store_dtor_t)zend_objects_destroy_object,\r\n                Ü\r\n/tmp/pear/temp/grpc/call.c:84:16: note: each undeclared identifier is reported only once for each function it appears in\r\n/tmp/pear/temp/grpc/call.c:84:42: error: expected ‘)’ before ‘zend_objects_destroy_object’\r\n       intern, (zend_objects_store_dtor_t)zend_objects_destroy_object,\r\n                                          Ü\r\n/tmp/pear/temp/grpc/call.c:84:7: error: passing argument 1 of ‘zend_objects_store_put’ from incompatible pointer type Ä-WerrorÅ\r\n       intern, (zend_objects_store_dtor_t)zend_objects_destroy_object,\r\n       Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend_globals.h:35:0,\r\n                 from /usr/local/php/include/php/Zend/zend_compile.h:657,\r\n                 from /usr/local/php/include/php/Zend/zend_modules.h:26,\r\n                 from /usr/local/php/include/php/Zend/zend_API.h:27,\r\n                 from /usr/local/php/include/php/main/php.h:39,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_objects_API.h:58:15: note: expected ‘struct zend_object *’ but argument is of type ‘struct wrapped_grpc_call *’\r\n ZEND_API void zend_objects_store_put(zend_object *object);\r\n               Ü\r\n/tmp/pear/temp/grpc/call.c:83:19: error: too many arguments to function ‘zend_objects_store_put’\r\n   retval.handle = zend_objects_store_put(\r\n                   Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend_globals.h:35:0,\r\n                 from /usr/local/php/include/php/Zend/zend_compile.h:657,\r\n                 from /usr/local/php/include/php/Zend/zend_modules.h:26,\r\n                 from /usr/local/php/include/php/Zend/zend_API.h:27,\r\n                 from /usr/local/php/include/php/main/php.h:39,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_objects_API.h:58:15: note: declared here\r\n ZEND_API void zend_objects_store_put(zend_object *object);\r\n               Ü\r\n/tmp/pear/temp/grpc/call.c:86:9: error: request for member ‘handlers’ in something not a structure or union\r\n   retval.handlers = zend_get_std_object_handlers();\r\n         Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘grpc_php_wrap_call’:\r\n/tmp/pear/temp/grpc/call.c:94:3: error: implicit declaration of function ‘MAKE_STD_ZVAL’ Ä-Werror=implicit-function-declarationÅ\r\n   MAKE_STD_ZVAL(call_object);\r\n   Ü\r\n/tmp/pear/temp/grpc/call.c:97:7: error: implicit declaration of function ‘zend_object_store_get_object’ Ä-Werror=implicit-function-declarationÅ\r\n       (wrapped_grpc_call *)zend_object_store_get_object(call_object TSRMLS_CC);\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c:97:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n/tmp/pear/temp/grpc/call.c: In function ‘grpc_parse_metadata_array’:\r\n/tmp/pear/temp/grpc/call.c:126:36: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_find(array_hash, str_key, key_len, (void **)data) ==\r\n                                    Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:126:9: error: too many arguments to function ‘zend_hash_find’\r\n     if (zend_hash_find(array_hash, str_key, key_len, (void **)data) ==\r\n         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:136:7: error: too many arguments to function ‘add_next_index_stringl’\r\n       add_next_index_stringl(*data, str_val, elem->value_length, false);\r\n       Ü\r\nIn file included from /usr/local/php/include/php/main/php.h:39:0,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_API.h:433:14: note: declared here\r\n ZEND_API int add_next_index_stringl(zval *arg, const char *str, size_t length);\r\n              Ü\r\n/tmp/pear/temp/grpc/call.c:140:7: error: too many arguments to function ‘add_next_index_stringl’\r\n       add_next_index_stringl(inner_array, str_val, elem->value_length, false);\r\n       Ü\r\nIn file included from /usr/local/php/include/php/main/php.h:39:0,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_API.h:433:14: note: declared here\r\n ZEND_API int add_next_index_stringl(zval *arg, const char *str, size_t length);\r\n              Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘create_metadata_array’:\r\n/tmp/pear/temp/grpc/call.c:165:50: error: passing argument 2 of ‘zend_hash_get_current_data_ex’ from incompatible pointer type Ä-WerrorÅ\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&inner_array,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: expected ‘HashPosition *’ but argument is of type ‘void **’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:165:8: error: too many arguments to function ‘zend_hash_get_current_data_ex’\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&inner_array,\r\n        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:168:50: error: passing argument 2 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘struct zend_string **’ but argument is of type ‘char **’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:168:56: error: passing argument 3 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘zend_ulong *’ but argument is of type ‘uint *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:168:66: error: passing argument 4 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘HashPosition *’ but argument is of type ‘ulong *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:168:9: error: too many arguments to function ‘zend_hash_get_current_key_ex’\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: declared here\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:180:50: error: passing argument 2 of ‘zend_hash_get_current_data_ex’ from incompatible pointer type Ä-WerrorÅ\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&inner_array,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: expected ‘HashPosition *’ but argument is of type ‘void **’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:180:8: error: too many arguments to function ‘zend_hash_get_current_data_ex’\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&inner_array,\r\n        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:183:50: error: passing argument 2 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘struct zend_string **’ but argument is of type ‘char **’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:183:56: error: passing argument 3 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘zend_ulong *’ but argument is of type ‘uint *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:183:66: error: passing argument 4 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘HashPosition *’ but argument is of type ‘ulong *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:183:9: error: too many arguments to function ‘zend_hash_get_current_key_ex’\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: declared here\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:190:58: error: passing argument 2 of ‘zend_hash_get_current_data_ex’ from incompatible pointer type Ä-WerrorÅ\r\n          zend_hash_get_current_data_ex(inner_array_hash, (void**)&value,\r\n                                                          Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: expected ‘HashPosition *’ but argument is of type ‘void **’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:190:10: error: too many arguments to function ‘zend_hash_get_current_data_ex’\r\n          zend_hash_get_current_data_ex(inner_array_hash, (void**)&value,\r\n          Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘zim_Call___construct’:\r\n/tmp/pear/temp/grpc/call.c:214:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_call *)zend_object_store_get_object(getThis() TSRMLS_CC);\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c:235:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_channel *)zend_object_store_get_object(\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c:245:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_timeval *)zend_object_store_get_object(\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘zim_Call_startBatch’:\r\n/tmp/pear/temp/grpc/call.c:259:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_call *)zend_object_store_get_object(getThis() TSRMLS_CC);\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c:303:50: error: passing argument 2 of ‘zend_hash_get_current_data_ex’ from incompatible pointer type Ä-WerrorÅ\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&value,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: expected ‘HashPosition *’ but argument is of type ‘void **’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:303:8: error: too many arguments to function ‘zend_hash_get_current_data_ex’\r\n        zend_hash_get_current_data_ex(array_hash, (void**)&value,\r\n        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:171:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:306:50: error: passing argument 2 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘struct zend_string **’ but argument is of type ‘char **’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:306:56: error: passing argument 3 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                        Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘zend_ulong *’ but argument is of type ‘uint *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:306:66: error: passing argument 4 of ‘zend_hash_get_current_key_ex’ from incompatible pointer type Ä-WerrorÅ\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n                                                                  Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: expected ‘HashPosition *’ but argument is of type ‘ulong *’\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:306:9: error: too many arguments to function ‘zend_hash_get_current_key_ex’\r\n     if (zend_hash_get_current_key_ex(array_hash, &key, &key_len, &index, 0,\r\n         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:168:30: note: declared here\r\n ZEND_API int   ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:325:9: error: implicit declaration of function ‘Z_TYPE_PP’ Ä-Werror=implicit-function-declarationÅ\r\n         if (Z_TYPE_PP(value) != IS_ARRAY) ä\r\n         Ü\r\n/tmp/pear/temp/grpc/call.c:331:9: error: implicit declaration of function ‘Z_ARRVAL_PP’ Ä-Werror=implicit-function-declarationÅ\r\n         message_hash = Z_ARRVAL_PP(value);\r\n         Ü\r\n/tmp/pear/temp/grpc/call.c:331:22: error: assignment makes pointer from integer without a cast Ä-WerrorÅ\r\n         message_hash = Z_ARRVAL_PP(value);\r\n                      Ü\r\n/tmp/pear/temp/grpc/call.c:332:42: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n         if (zend_hash_find(message_hash, \"flags\", sizeof(\"flags\"),\r\n                                          Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:332:13: error: too many arguments to function ‘zend_hash_find’\r\n         if (zend_hash_find(message_hash, \"flags\", sizeof(\"flags\"),\r\n             Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:339:11: error: implicit declaration of function ‘Z_LVAL_PP’ Ä-Werror=implicit-function-declarationÅ\r\n           opsÄop_numÅ.flags = Z_LVAL_PP(message_flags) & GRPC_WRITE_USED_MASK;\r\n           Ü\r\n/tmp/pear/temp/grpc/call.c:341:42: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n         if (zend_hash_find(message_hash, \"message\", sizeof(\"message\"),\r\n                                          Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:341:13: error: too many arguments to function ‘zend_hash_find’\r\n         if (zend_hash_find(message_hash, \"message\", sizeof(\"message\"),\r\n             Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:350:13: error: implicit declaration of function ‘Z_STRVAL_PP’ Ä-Werror=implicit-function-declarationÅ\r\n             string_to_byte_buffer(Z_STRVAL_PP(message_value),\r\n             Ü\r\n/tmp/pear/temp/grpc/call.c:351:35: error: implicit declaration of function ‘Z_STRLEN_PP’ Ä-Werror=implicit-function-declarationÅ\r\n                                   Z_STRLEN_PP(message_value));\r\n                                   Ü\r\n/tmp/pear/temp/grpc/call.c:350:35: error: passing argument 1 of ‘string_to_byte_buffer’ makes pointer from integer without a cast Ä-WerrorÅ\r\n             string_to_byte_buffer(Z_STRVAL_PP(message_value),\r\n                                   Ü\r\nIn file included from /tmp/pear/temp/grpc/call.c:58:0:\r\n/tmp/pear/temp/grpc/byte_buffer.h:39:19: note: expected ‘char *’ but argument is of type ‘int’\r\n grpc_byte_buffer *string_to_byte_buffer(char *string, size_t length);\r\n                   Ü\r\n/tmp/pear/temp/grpc/call.c:356:21: error: assignment makes pointer from integer without a cast Ä-WerrorÅ\r\n         status_hash = Z_ARRVAL_PP(value);\r\n                     Ü\r\n/tmp/pear/temp/grpc/call.c:357:41: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n         if (zend_hash_find(status_hash, \"metadata\", sizeof(\"metadata\"),\r\n                                         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:357:13: error: too many arguments to function ‘zend_hash_find’\r\n         if (zend_hash_find(status_hash, \"metadata\", sizeof(\"metadata\"),\r\n             Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:370:41: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n         if (zend_hash_find(status_hash, \"code\", sizeof(\"code\"),\r\n                                         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:370:13: error: too many arguments to function ‘zend_hash_find’\r\n         if (zend_hash_find(status_hash, \"code\", sizeof(\"code\"),\r\n             Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:386:41: error: passing argument 2 of ‘zend_hash_find’ from incompatible pointer type Ä-WerrorÅ\r\n         if (zend_hash_find(status_hash, \"details\", sizeof(\"details\"),\r\n                                         Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: expected ‘struct zend_string *’ but argument is of type ‘char *’\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:386:13: error: too many arguments to function ‘zend_hash_find’\r\n         if (zend_hash_find(status_hash, \"details\", sizeof(\"details\"),\r\n             Ü\r\nIn file included from /usr/local/php/include/php/Zend/zend.h:36:0,\r\n                 from /usr/local/php/include/php/main/php.h:35,\r\n                 from /tmp/pear/temp/grpc/call.h:41,\r\n                 from /tmp/pear/temp/grpc/call.c:34:\r\n/usr/local/php/include/php/Zend/zend_hash.h:154:30: note: declared here\r\n ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);\r\n                              Ü\r\n/tmp/pear/temp/grpc/call.c:394:67: error: assignment makes pointer from integer without a cast Ä-WerrorÅ\r\n           opsÄop_numÅ.data.send_status_from_server.status_details =\r\n                                                                   Ü\r\n/tmp/pear/temp/grpc/call.c:466:37: error: macro \"add_property_stringl\" passed 5 arguments, but takes just 4\r\n                                false);\r\n                                     Ü\r\n/tmp/pear/temp/grpc/call.c:465:11: error: ‘add_property_stringl’ undeclared (first use in this function)\r\n           add_property_stringl(result, \"message\", message_str, message_len,\r\n           Ü\r\n/tmp/pear/temp/grpc/call.c:476:73: error: macro \"add_property_string\" passed 4 arguments, but takes just 3\r\n         add_property_string(recv_status, \"details\", status_details, true);\r\n                                                                         Ü\r\n/tmp/pear/temp/grpc/call.c:476:9: error: ‘add_property_string’ undeclared (first use in this function)\r\n         add_property_string(recv_status, \"details\", status_details, true);\r\n         Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘zim_Call_getPeer’:\r\n/tmp/pear/temp/grpc/call.c:504:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_call *)zend_object_store_get_object(getThis() TSRMLS_CC);\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c:505:53: error: macro \"RETURN_STRING\" passed 2 arguments, but takes just 1\r\n   RETURN_STRING(grpc_call_get_peer(call->wrapped), 1);\r\n                                                     Ü\r\n/tmp/pear/temp/grpc/call.c:505:3: error: ‘RETURN_STRING’ undeclared (first use in this function)\r\n   RETURN_STRING(grpc_call_get_peer(call->wrapped), 1);\r\n   Ü\r\n/tmp/pear/temp/grpc/call.c:503:22: error: unused variable ‘call’ Ä-Werror=unused-variableÅ\r\n   wrapped_grpc_call *call =\r\n                      Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘zim_Call_cancel’:\r\n/tmp/pear/temp/grpc/call.c:514:7: error: cast to pointer from integer of different size Ä-Werror=int-to-pointer-castÅ\r\n       (wrapped_grpc_call *)zend_object_store_get_object(getThis() TSRMLS_CC);\r\n       Ü\r\n/tmp/pear/temp/grpc/call.c: In function ‘grpc_init_call’:\r\n/tmp/pear/temp/grpc/call.c:528:20: error: assignment from incompatible pointer type Ä-WerrorÅ\r\n   ce.create_object = create_wrapped_grpc_call;\r\n                    Ü\r\ncc1: all warnings being treated as errors\r\nMakefile:196: recipe for target 'call.lo' failed\r\nmake: *** Äcall.loÅ Error 1\r\nERROR: émake' failed\r\n```\r\n\r\ncan somebody help me？please"},"comment":{"url":"https://api.github.com/repos/grpc/grpc/issues/comments/167693750","html_url":"https://github.com/grpc/grpc/issues/4575#issuecomment-167693750","issue_url":"https://api.github.com/repos/grpc/grpc/issues/4575","id":167693750,"user":{"login":"stanley-cheung","id":11674202,"avatar_url":"https://avatars.githubusercontent.com/u/11674202?v=3","gravatar_id":"","url":"https://api.github.com/users/stanley-cheung","html_url":"https://github.com/stanley-cheung","followers_url":"https://api.github.com/users/stanley-cheung/followers","following_url":"https://api.github.com/users/stanley-cheung/following{/other_user}","gists_url":"https://api.github.com/users/stanley-cheung/gists{/gist_id}","starred_url":"https://api.github.com/users/stanley-cheung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stanley-cheung/subscriptions","organizations_url":"https://api.github.com/users/stanley-cheung/orgs","repos_url":"https://api.github.com/users/stanley-cheung/repos","events_url":"https://api.github.com/users/stanley-cheung/events{/privacy}","received_events_url":"https://api.github.com/users/stanley-cheung/received_events","type":"User","site_admin":false},"created_at":"2015-12-29T01:50:02Z","updated_at":"2015-12-29T01:50:02Z","body":"Dupe of #4337 "}}