|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2021-07-28 10:31 UTC] cmb@php.net
-Status: Open
+Status: Suspended
[2021-07-28 10:31 UTC] cmb@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 23 07:00:01 2025 UTC |
Description: ------------ Description: ------------ make fails to compile kadm5.c due to the enumeration "SUCCESS" being (globaly) declared within two different includes. In file included from /usr/include/php7/Zend/zend.h:31:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_types.h:50:3: error: redeclaration of enumerator 'SUCCESS' SUCCESS = 0, ^ In file included from /usr/include/gssrpc/rpc.h:55:0, from /usr/include/kadm5/admin.h:45, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32: /usr/include/gssrpc/rpc_msg.h:66:2: note: previous definition of 'SUCCESS' was here SUCCESS=0, ^ Note: --------------- Tried to build kadm5 with php5.6, too. That lead to much less errors, but the enumeration redeclaration error persisted. Test script: --------------- make Expected result: ---------------- Successful compilation Actual result: -------------- /bin/sh /usr/lib64/php7/extensions/kadm5-0.2.3/libtool --mode=compile cc -I. -I/usr/lib64/php7/extensions/kadm5-0.2.3 -DPHP_ATOM_INC -I/usr/lib64/php7/extensions/kadm5-0.2.3/include -I/usr/lib64/php7/extensions/kadm5-0.2.3/main -I/usr/lib64/php7/extensions/kadm5-0.2.3 -I/usr/include/php7 -I/usr/include/php7/main -I/usr/include/php7/TSRM -I/usr/include/php7/Zend -I/usr/include/php7/ext -I/usr/include/php7/ext/date/lib -I/usr/include/krb5 -DHAVE_CONFIG_H -g -O2 -std=gnu99 -Wno-declaration-after-statement -Wno-deprecated-declarations -Wno-implicit-function-declaration -c /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c -o kadm5.lo libtool: compile: cc -I. -I/usr/lib64/php7/extensions/kadm5-0.2.3 -DPHP_ATOM_INC -I/usr/lib64/php7/extensions/kadm5-0.2.3/include -I/usr/lib64/php7/extensions/kadm5-0.2.3/main -I/usr/lib64/php7/extensions/kadm5-0.2.3 -I/usr/include/php7 -I/usr/include/php7/main -I/usr/include/php7/TSRM -I/usr/include/php7/Zend -I/usr/include/php7/ext -I/usr/include/php7/ext/date/lib -I/usr/include/krb5 -DHAVE_CONFIG_H -g -O2 -std=gnu99 -Wno-declaration-after-statement -Wno-deprecated-declarations -Wno-implicit-function-declaration -c /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c -fPIC -DPIC -o .libs/kadm5.o In file included from /usr/include/php7/Zend/zend.h:31:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_types.h:50:3: error: redeclaration of enumerator 'SUCCESS' SUCCESS = 0, ^ In file included from /usr/include/gssrpc/rpc.h:55:0, from /usr/include/kadm5/admin.h:45, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32: /usr/include/gssrpc/rpc_msg.h:66:2: note: previous definition of 'SUCCESS' was here SUCCESS=0, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:121:33: error: unknown type name 'zend_rsrc_list_entry' static void _close_kadm5_handle(zend_rsrc_list_entry *rsrc TSRMLS_DC) ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zm_startup_kadm5': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:251:48: error: '_close_kadm5_handle' undeclared (first use in this function) le_handle = zend_register_list_destructors_ex(_close_kadm5_handle, NULL, HANDLE_ID, module_number); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:251:48: note: each undeclared identifier is reported only once for each function it appears in /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_init_with_password': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:474:11: warning: passing argument 1 of 'kadm5_init_with_password' from incompatible pointer type [enabled by default] &handle); ^ In file included from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32:0: /usr/include/kadm5/admin.h:318:16: note: expected 'krb5_context' but argument is of type 'char *' kadm5_ret_t kadm5_init_with_password(krb5_context context, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:474:11: warning: passing argument 4 of 'kadm5_init_with_password' from incompatible pointer type [enabled by default] &handle); ^ In file included from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32:0: /usr/include/kadm5/admin.h:318:16: note: expected 'char *' but argument is of type 'struct kadm5_config_params *' kadm5_ret_t kadm5_init_with_password(krb5_context context, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:474:11: warning: passing argument 5 of 'kadm5_init_with_password' makes pointer from integer without a cast [enabled by default] &handle); ^ In file included from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32:0: /usr/include/kadm5/admin.h:318:16: note: expected 'struct kadm5_config_params *' but argument is of type 'int' kadm5_ret_t kadm5_init_with_password(krb5_context context, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:474:11: warning: passing argument 7 of 'kadm5_init_with_password' makes integer from pointer without a cast [enabled by default] &handle); ^ In file included from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32:0: /usr/include/kadm5/admin.h:318:16: note: expected 'krb5_ui_4' but argument is of type 'void **' kadm5_ret_t kadm5_init_with_password(krb5_context context, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:474:11: error: too few arguments to function 'kadm5_init_with_password' &handle); ^ In file included from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:32:0: /usr/include/kadm5/admin.h:318:16: note: declared here kadm5_ret_t kadm5_init_with_password(krb5_context context, ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_destroy': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:502:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:504:2: warning: passing argument 1 of 'zend_list_delete' makes pointer from integer without a cast [enabled by default] zend_list_delete((*link)->value.lval); ^ In file included from /usr/include/php7/Zend/zend_API.h:28:0, from /usr/include/php7/main/php.h:39, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_list.h:59:14: note: expected 'struct zend_resource *' but argument is of type 'zend_long' ZEND_API int zend_list_delete(zend_resource *res); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_flush': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:522:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_create_principal': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:592:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:648:3: warning: passing argument 2 of 'zend_hash_get_current_data_ex' from incompatible pointer type [enabled by default] while (zend_hash_get_current_data_ex(options_hash, (void**)&data, &pos) == SUCCESS) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:171:30: note: expected 'HashPosition *' but argument is of type 'void **' ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:648:3: error: too many arguments to function 'zend_hash_get_current_data_ex' while (zend_hash_get_current_data_ex(options_hash, (void**)&data, &pos) == SUCCESS) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:171:30: note: declared here ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:650:4: warning: passing argument 2 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'struct zend_string **' but argument is of type 'char **' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:650:4: warning: passing argument 3 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'zend_ulong *' but argument is of type 'uint *' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:650:4: warning: passing argument 4 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'HashPosition *' but argument is of type 'ulong *' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:650:4: error: too many arguments to function 'zend_hash_get_current_key_ex' if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: declared here ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:651:19: error: lvalue required as left operand of assignment Z_TYPE_P(key) = IS_LONG; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:654:19: error: lvalue required as left operand of assignment Z_TYPE_P(key) = IS_STRING; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:655:21: error: incompatible types when assigning to type 'char[1]' from type 'char *' Z_STRVAL_P(key) = string_key; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:683:18: warning: assignment makes pointer from integer without a cast [enabled by default] princ.policy = Z_STRVAL_PP(data); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_chpass_principal': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:776:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_delete_principal': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:830:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_modify_principal': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:897:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:935:3: warning: passing argument 2 of 'zend_hash_get_current_data_ex' from incompatible pointer type [enabled by default] while (zend_hash_get_current_data_ex(options_hash, (void**)&data, &pos) == SUCCESS) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:171:30: note: expected 'HashPosition *' but argument is of type 'void **' ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:935:3: error: too many arguments to function 'zend_hash_get_current_data_ex' while (zend_hash_get_current_data_ex(options_hash, (void**)&data, &pos) == SUCCESS) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:171:30: note: declared here ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:937:4: warning: passing argument 2 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'struct zend_string **' but argument is of type 'char **' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:937:4: warning: passing argument 3 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'zend_ulong *' but argument is of type 'uint *' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:937:4: warning: passing argument 4 of 'zend_hash_get_current_key_ex' from incompatible pointer type [enabled by default] if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: expected 'HashPosition *' but argument is of type 'ulong *' ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:937:4: error: too many arguments to function 'zend_hash_get_current_key_ex' if (zend_hash_get_current_key_ex(options_hash, &string_key, &string_key_len, &num_key, 0, &pos) == HASH_KEY_IS_LONG) { ^ In file included from /usr/include/php7/Zend/zend.h:36:0, from /usr/include/php7/main/php.h:35, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_hash.h:168:30: note: declared here ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_index, zend_ulong *num_index, HashPosition *pos); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:938:19: error: lvalue required as left operand of assignment Z_TYPE_P(key) = IS_LONG; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:941:19: error: lvalue required as left operand of assignment Z_TYPE_P(key) = IS_STRING; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:942:21: error: incompatible types when assigning to type 'char[1]' from type 'char *' Z_STRVAL_P(key) = string_key; ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:970:18: warning: assignment makes pointer from integer without a cast [enabled by default] princ.policy = Z_STRVAL_PP(data); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_get_principals': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1032:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1044:3: error: too many arguments to function 'add_next_index_string' add_next_index_string(return_value, princs[i], 1); ^ In file included from /usr/include/php7/main/php.h:39:0, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_API.h:433:14: note: declared here ZEND_API int add_next_index_string(zval *arg, const char *str); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_get_principal': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1082:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1125:59: error: macro "add_assoc_string" passed 4 arguments, but takes just 3 add_assoc_string(return_value, OP_PRINCIPAL, principal, 1); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1125:2: error: 'add_assoc_string' undeclared (first use in this function) add_assoc_string(return_value, OP_PRINCIPAL, principal, 1); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1131:57: error: macro "add_assoc_string" passed 4 arguments, but takes just 3 add_assoc_string(return_value, OP_MOD_NAME, mod_name, 1); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1137:75: error: macro "add_assoc_string" passed 4 arguments, but takes just 3 add_assoc_string(return_value, OP_POLICY, ent.policy ? ent.policy : "", 1); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c: In function 'zif_kadm5_get_policies': /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1168:30: error: expected expression before 'void' ZEND_FETCH_RESOURCE(handle, void *, &link, -1, HANDLE_ID, le_handle); ^ /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:1180:3: error: too many arguments to function 'add_next_index_string' add_next_index_string(return_value, policies[i], 1); ^ In file included from /usr/include/php7/main/php.h:39:0, from /usr/lib64/php7/extensions/kadm5-0.2.3/kadm5.c:34: /usr/include/php7/Zend/zend_API.h:433:14: note: declared here ZEND_API int add_next_index_string(zval *arg, const char *str); ^ Makefile:194: recipe for target 'kadm5.lo' failed make: *** [kadm5.lo] Error 1