installing xdebug fails

I am running PhpStorm 2020.3 on a Mac running Big Sur and PHP 7.4.  I am trying to install Xdebug following these instructions: https://xdebug.org/docs/install#pecl

"pecl install xdebug" fails w/ these error messages.  See below. 

I have posted on stackoverflow to no avail.  I have also posted a bug report on xdebug.org but they say "This is a bug in PHP, and not something that I can fix".   Does anyone have any suggestions?

In file included from /usr/local/Cellar/php@7.4/7.4.19_1/include/php/Zend/zend.h:356:

/usr/local/Cellar/php@7.4/7.4.19_1/include/php/Zend/zend_operators.h:523:10: error: 'asm goto' constructs are not supported yet

        __asm__ goto(

                ^

/usr/local/Cellar/php@7.4/7.4.19_1/include/php/Zend/zend_operators.h:586:10: error: 'asm goto' constructs are not supported yet

        __asm__ goto(

                ^

/usr/local/Cellar/php@7.4/7.4.19_1/include/php/Zend/zend_operators.h:656:10: error: 'asm goto' constructs are not supported yet

        __asm__ goto(

                ^

/usr/local/Cellar/php@7.4/7.4.19_1/include/php/Zend/zend_operators.h:766:10: error: 'asm goto' constructs are not supported yet

        __asm__ goto(

                ^

/private/tmp/pear/temp/xdebug/xdebug.c:150:32: warning: address of array 'new_value->val' will always evaluate to 'true' [-Wpointer-bool-conversion]

        if (!new_value || !new_value->val) {

                          ~~~~~~~~~~~~^~~

/private/tmp/pear/temp/xdebug/xdebug.c:163:32: warning: address of array 'new_value->val' will always evaluate to 'true' [-Wpointer-bool-conversion]

        if (!new_value || !new_value->val) {

                          ~~~~~~~~~~~~^~~

/private/tmp/pear/temp/xdebug/xdebug.c:176:32: warning: address of array 'new_value->val' will always evaluate to 'true' [-Wpointer-bool-conversion]

        if (!new_value || !new_value->val) {

                          ~~~~~~~~~~~~^~~

/private/tmp/pear/temp/xdebug/xdebug.c:192:30: warning: address of array 'new_value->val' will always evaluate to 'true' [-Wpointer-bool-conversion]

        if (new_value && new_value->val && strlen(new_value->val) > 0 && strncmp("This setting", new_value->val, 11) != 0) {

                      ~~ ~~~~~~~~~~~^~~

/private/tmp/pear/temp/xdebug/xdebug.c:207:30: warning: address of array 'new_value->val' will always evaluate to 'true' [-Wpointer-bool-conversion]

        if (new_value && new_value->val && strlen(new_value->val) > 0 && strncmp("This setting", new_value->val, 11) != 0) {

                      ~~ ~~~~~~~~~~~^~~

5 warnings and 4 errors generated.

make: *** [xdebug.lo] Error 1

ERROR: `make' failed




1
2 comments

Thanks for the stackoverflow reference.  For anyone else w/ this problem, after reading the post I edited 

php/7.4.11/include/php/Zend/zend_operators.h:504

to set ZEND_USE_ASM_ARITHMETIC to zero:

# define ZEND_USE_ASM_ARITHMETIC 0
 
So ZEND_USE_ASM_ARITHMETIC is always false.  Then "pecl install xdebug" worked as advertised and the debugger seems to be working fine in PHP Storm now. 
0

Please sign in to leave a comment.