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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: info at sistemasgsl dot com
New email:
PHP Version: OS:

 

 [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

Pull Requests

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-2025 The PHP Group
All rights reserved.
Last updated: Mon May 12 22:01:30 2025 UTC