aerospike-community / aerospike-client-php

Aerospike client for PHP7
Apache License 2.0
29 stars 28 forks source link

Build fails on Mac OS X with error because of undeclared identifier 'ulong' #52

Open zeppelinen opened 4 years ago

zeppelinen commented 4 years ago

Full error output:

 cc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -I. -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src -DPHP_ATOM_INC -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/include -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/main -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src -I/usr/local/Cellar/php/7.4.4/include/php -I/usr/local/Cellar/php/7.4.4/include/php/main -I/usr/local/Cellar/php/7.4.4/include/php/TSRM -I/usr/local/Cellar/php/7.4.4/include/php/Zend -I/usr/local/Cellar/php/7.4.4/include/php/ext -I/usr/local/Cellar/php/7.4.4/include/php/ext/date/lib -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/../aerospike-client-c/include -I/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/../aerospike-client-c/include/ck -DHAVE_CONFIG_H -std=gnu99 -g -D__AEROSPIKE_PHP_CLIENT_LOG_LEVEL__=PHP_EXT_AS_LOG_LEVEL_OFF -Wall -c /Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c  -fno-common -DPIC -o .libs/conversions.o
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:460:7: error: expected ';' after expression
        ulong numeric_key;
             ^
             ;
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:460:2: error: use of undeclared identifier 'ulong'
        ulong numeric_key;
        ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:460:8: error: use of undeclared identifier 'numeric_key'
        ulong numeric_key;
              ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:463:38: error: use of undeclared identifier 'numeric_key'
        ZEND_HASH_FOREACH_KEY_VAL(php_hash, numeric_key, string_key, php_value)
                                            ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:472:57: error: use of undeclared identifier 'numeric_key'
                        as_integer* as_integer_key = as_integer_new((int64_t)numeric_key);
                                                                             ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:884:7: error: expected ';' after expression
        ulong numeric_key;
             ^
             ;
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:884:2: error: use of undeclared identifier 'ulong'
        ulong numeric_key;
        ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:884:8: error: use of undeclared identifier 'numeric_key'
        ulong numeric_key;
              ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:887:34: error: use of undeclared identifier 'numeric_key'
        ZEND_HASH_FOREACH_KEY(php_hash, numeric_key, string_key)
                                        ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:892:13: error: use of undeclared identifier 'numeric_key'
                        if (i != numeric_key) {
                                 ^
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:1189:10: warning: address of array 'key->ns' will always evaluate to 'true' [-Wpointer-bool-conversion]
        if(key->ns) {
        ~~ ~~~~~^~
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:1200:10: warning: address of array 'key->set' will always evaluate to 'true' [-Wpointer-bool-conversion]
        if(key->set) {
        ~~ ~~~~~^~~
/Users/xn/devel/superbuzz.io/push-api-clean/vendor/aerospike/aerospike-client-php/src/conversions.c:1280:32: warning: address of array 'buf.s->val' will always evaluate to 'true' [-Wpointer-bool-conversion]
                if (EG(exception) || !buf.s->val) {
                                     ~~~~~~~~^~~
3 warnings and 10 errors generated.
make: *** [conversions.lo] Error 1
The build has failed...exiting
Script cd src && ./build.sh handling the post-install-cmd event returned with error code 3

As a workaround add this to conversions.c:

#ifdef __APPLE__
    #define ulong unsigned long
#endif
apoorvakumar690 commented 4 years ago

not sure why this is happening