php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #66521 PECL AOP Compile failure
Submitted: 2014-01-20 13:12 UTC Modified: 2018-09-30 16:34 UTC
From: info at sistemasgsl dot com Assigned:
Status: Suspended Package: Compile Failure
PHP Version: Irrelevant OS: Windows 2008 Server
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2014-01-20 13:12 UTC] info at sistemasgsl dot com
Description:
------------
Can't compile on Windows. The solution is move "TSRMLS_FETCH();" after variable declarations.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-01-20 13:15 UTC] felipe@php.net
-Status: Open +Status: Feedback
 [2014-01-20 13:15 UTC] felipe@php.net
Can you post the compiler log? Which php version?
 [2014-01-20 13:19 UTC] ab@php.net
-Status: Feedback +Status: Not a bug
 [2014-01-20 13:19 UTC] ab@php.net
TSRM_FETCH(); in NTS build is evaluated to just ';', which breaks C89 compatibility. The solution is just as you say ... 

Thanks.
 [2014-01-20 13:29 UTC] info at sistemasgsl dot com
The bug it's on PECL AOP (http://pecl.php.net/package/AOP). I don't know if i reported OK the bug (sorry my English).
 [2014-01-20 14:12 UTC] ab@php.net
-Summary: Compile failure +Summary: PECL AOP Compile failure -Status: Not a bug +Status: Feedback
 [2014-01-20 14:12 UTC] ab@php.net
Ok, as Felipe says, the compilation log is needed. But that'll be probably something similar to the logs from the last release builds http://windows.php.net/downloads/pecl/releases/aop/0.2.2b1/ .
 [2014-01-20 14:27 UTC] info at sistemasgsl dot com
-Status: Feedback +Status: Open
 [2014-01-20 14:27 UTC] info at sistemasgsl dot com
Errors on lines 247 and 271. Thanks ! I can compile now.

Recreating build dirs
aop.c
ext\aop\aop.c(211) : warning C4101: 'tmp_member' : unreferenced local variable
ext\aop\aop.c(248) : error C2143: syntax error : missing ';' before 'type'
ext\aop\aop.c(249) : error C2275: 'HashTable' : illegal use of this type as an expression
        Zend\zend_hash.h(82) : see declaration of 'HashTable'
ext\aop\aop.c(249) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(250) : error C2275: 'HashPosition' : illegal use of this type as an expression
        Zend\zend_hash.h(94) : see declaration of 'HashPosition'
ext\aop\aop.c(250) : error C2146: syntax error : missing ';' before identifier 'pos'
ext\aop\aop.c(250) : error C2065: 'pos' : undeclared identifier
ext\aop\aop.c(251) : error C2275: 'pointcut' : illegal use of this type as an expression
        d:\php-sdk\php53dev\vc9\x86\php-5.3.27\ext\aop\aop.h(101) : see declaration of 'pointcut'
ext\aop\aop.c(251) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(251) : error C2100: illegal indirection
ext\aop\aop.c(253) : error C2065: 'curr_func' : undeclared identifier
ext\aop\aop.c(253) : warning C4047: '=' : 'int' differs in levels of indirection from 'zend_function *'
ext\aop\aop.c(255) : error C2065: 'pos' : undeclared identifier
ext\aop\aop.c(255) : warning C4047: 'function' : 'HashPosition *' differs in levels of indirection from 'int *'
ext\aop\aop.c(255) : warning C4024: 'zend_hash_internal_pointer_reset_ex' : different types for formal and actual parameter 2
ext\aop\aop.c(256) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(256) : error C2065: 'pos' : undeclared identifier
ext\aop\aop.c(256) : warning C4047: 'function' : 'HashPosition *' differs in levels of indirection from 'int *'
ext\aop\aop.c(256) : warning C4024: 'zend_hash_get_current_data_ex' : different types for formal and actual parameter 3
ext\aop\aop.c(257) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(257) : error C2100: illegal indirection
ext\aop\aop.c(257) : warning C4047: 'function' : 'pointcut *' differs in levels of indirection from 'int'
ext\aop\aop.c(257) : warning C4024: 'pointcut_match_zend_function' : different types for formal and actual parameter 1
ext\aop\aop.c(257) : error C2065: 'curr_func' : undeclared identifier
ext\aop\aop.c(257) : warning C4047: 'function' : 'zend_function *' differs in levels of indirection from 'int'
ext\aop\aop.c(257) : warning C4024: 'pointcut_match_zend_function' : different types for formal and actual parameter 2
ext\aop\aop.c(258) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(258) : warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
ext\aop\aop.c(259) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(259) : warning C4047: '=' : 'int' differs in levels of indirection from 'HashTable *'
ext\aop\aop.c(260) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(260) : warning C4047: 'function' : 'HashTable *' differs in levels of indirection from 'int'
ext\aop\aop.c(260) : warning C4024: '_zend_hash_init' : different types for formal and actual parameter 1
ext\aop\aop.c(262) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(262) : warning C4047: 'function' : 'HashTable *' differs in levels of indirection from 'int'
ext\aop\aop.c(262) : warning C4024: '_zend_hash_index_update_or_next_insert' : different types for formal and actual parameter 1
ext\aop\aop.c(262) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(262) : warning C4022: '_zend_hash_index_update_or_next_insert' : pointer mismatch for actual parameter 3
ext\aop\aop.c(264) : error C2065: 'pos' : undeclared identifier
ext\aop\aop.c(264) : warning C4047: 'function' : 'HashPosition *' differs in levels of indirection from 'int *'
ext\aop\aop.c(264) : warning C4024: 'zend_hash_move_forward_ex' : different types for formal and actual parameter 2
ext\aop\aop.c(266) : error C2065: 'ht' : undeclared identifier
ext\aop\aop.c(266) : warning C4047: 'return' : 'HashTable *' differs in levels of indirection from 'int'
ext\aop\aop.c(272) : error C2143: syntax error : missing ';' before 'type'
ext\aop\aop.c(273) : error C2143: syntax error : missing ';' before 'type'
ext\aop\aop.c(274) : error C2275: 'pointcut_cache' : illegal use of this type as an expression
        d:\php-sdk\php53dev\vc9\x86\php-5.3.27\ext\aop\aop.h(110) : see declaration of 'pointcut_cache'
ext\aop\aop.c(274) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(275) : error C2143: syntax error : missing ';' before 'type'
ext\aop\aop.c(276) : error C2275: 'zend_object_handle' : illegal use of this type as an expression
        d:\php-sdk\php53dev\vc9\x86\php-5.3.27\zend\zend_types.h(53) : see declaration of 'zend_object_handle'
ext\aop\aop.c(276) : error C2146: syntax error : missing ';' before identifier 'handle'
ext\aop\aop.c(276) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(280) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(282) : error C2065: 'curr_func' : undeclared identifier
ext\aop\aop.c(282) : warning C4047: '=' : 'int' differs in levels of indirection from 'zend_function *'
ext\aop\aop.c(284) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(284) : error C2065: 'curr_func' : undeclared identifier
ext\aop\aop.c(284) : error C2223: left of '->common' must point to struct/union
ext\aop\aop.c(284) : error C2198: '_estrdup' : too few arguments for call
ext\aop\aop.c(284) : warning C4047: '=' : 'int' differs in levels of indirection from 'char *'
ext\aop\aop.c(285) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(286) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(287) : error C2065: 'i' : undeclared identifier
ext\aop\aop.c(287) : error C2065: 'i' : undeclared identifier
ext\aop\aop.c(287) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(287) : error C2065: 'i' : undeclared identifier
ext\aop\aop.c(288) : error C2065: 'i' : undeclared identifier
ext\aop\aop.c(290) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(292) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(293) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(294) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(296) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(296) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(296) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(296) : warning C4024: 'zend_hash_find' : different types for formal and actual parameter 2
ext\aop\aop.c(296) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(296) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(296) : warning C4024: 'strlen' : different types for formal and actual parameter 1
ext\aop\aop.c(296) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(298) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(298) : warning C4047: '==' : 'int' differs in levels of indirection from 'void *'
ext\aop\aop.c(298) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(298) : error C2223: left of '->declare_count' must point to struct/union
ext\aop\aop.c(298) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(298) : error C2223: left of '->ce' must point to struct/union
ext\aop\aop.c(299) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(299) : warning C4047: '!=' : 'int' differs in levels of indirection from 'void *'
ext\aop\aop.c(300) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(300) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(300) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(300) : warning C4024: 'zend_hash_del_key_or_index' : different types for formal and actual parameter 2
ext\aop\aop.c(300) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(300) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(300) : warning C4024: 'strlen' : different types for formal and actual parameter 1
ext\aop\aop.c(302) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(302) : warning C4047: '=' : 'int' differs in levels of indirection from 'void *'
ext\aop\aop.c(303) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(303) : error C2223: left of '->ht' must point to struct/union
ext\aop\aop.c(304) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(304) : error C2223: left of '->ht' must point to struct/union
ext\aop\aop.c(305) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(305) : error C2223: left of '->count' must point to struct/union
ext\aop\aop.c(307) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(307) : error C2223: left of '->count' must point to struct/union
ext\aop\aop.c(307) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(307) : error C2223: left of '->ht' must point to struct/union
ext\aop\aop.c(309) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(309) : error C2223: left of '->declare_count' must point to struct/union
ext\aop\aop.c(310) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(310) : error C2223: left of '->ce' must point to struct/union
ext\aop\aop.c(311) : error C2065: 'handle' : undeclared identifier
ext\aop\aop.c(311) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(311) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(311) : warning C4024: '_zend_hash_add_or_update' : different types for formal and actual parameter 2
ext\aop\aop.c(311) : error C2065: 'func_name' : undeclared identifier
ext\aop\aop.c(311) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'int'
ext\aop\aop.c(311) : warning C4024: 'strlen' : different types for formal and actual parameter 1
ext\aop\aop.c(311) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(311) : warning C4022: '_zend_hash_add_or_update' : pointer mismatch for actual parameter 4
ext\aop\aop.c(313) : error C2065: 'cache' : undeclared identifier
ext\aop\aop.c(313) : error C2223: left of '->ht' must point to struct/union
ext\aop\aop.c(313) : warning C4033: 'get_matching_ht' must return a value
ext\aop\aop.c(319) : error C2143: syntax error : missing ';' before 'type'
ext\aop\aop.c(320) : error C2275: 'pointcut' : illegal use of this type as an expression
        d:\php-sdk\php53dev\vc9\x86\php-5.3.27\ext\aop\aop.h(101) : see declaration of 'pointcut'
ext\aop\aop.c(320) : error C2065: 'current_pc' : undeclared identifier
ext\aop\aop.c(321) : error C2275: 'pointcut' : illegal use of this type as an expression
        d:\php-sdk\php53dev\vc9\x86\php-5.3.27\ext\aop\aop.h(101) : see declaration of 'pointcut'
ext\aop\aop.c(321) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(321) : error C2100: illegal indirection
ext\aop\aop.c(335) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(342) : error C2065: 'current_pc' : undeclared identifier
ext\aop\aop.c(342) : error C2065: 'temp' : undeclared identifier
ext\aop\aop.c(342) : error C2100: illegal indirection
ext\aop\aop.c(345) : error C2065: 'obj' : undeclared identifier
ext\aop\aop.c(345) : warning C4047: '=' : 'int' differs in levels of indirection from 'AopJoinpoint_object *'
ext\aop\aop.c(346) : error C2065: 'obj' : undeclared identifier
ext\aop\aop.c(346) : error C2223: left of '->current_pointcut' must point to struct/union
ext\aop\aop.c(346) : error C2065: 'current_pc' : undeclared identifier
ext\aop\aop.c(348) : error C2065: 'obj' : undeclared identifier
ext\aop\aop.c(348) : error C2223: left of '->pos' must point to struct/union
ext\aop\aop.c(349) : error C2065: 'obj' : undeclared identifier
ext\aop\aop.c(349) : error C2223: left of '->advice' must point to struct/union
ext\aop\aop.c(350) : error C2065: 'obj' : undeclared identifier
ext\aop\aop.c(350) : fatal error C1003: error count exceeds 100; stopping compilation
 [2014-01-20 14:35 UTC] ab@php.net
-Assigned To: +Assigned To: gerald
 [2017-10-24 07:05 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: gerald +Assigned To:
 [2018-09-30 16:34 UTC] cmb@php.net
-Status: Open +Status: Suspended
 [2018-09-30 16:34 UTC] cmb@php.net
Still unresolved[1].  Anyhow, PECL/AOP appears to be unmaintained,
so I'm suspending this ticket until a new maintainer is found.

[1] <https://github.com/AOP-PHP/AOP/blob/b191c3668b7aeb2ae56353acb875e02a1f1edc5f/aop.c#L252-L253>
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Mon Nov 18 21:01:37 2019 UTC