Uploaded image for project: 'PHP Legacy Driver'
  1. PHP Legacy Driver
  2. PHP-1438

Unable to compile extension for PHP7/Mac OSX Yosemite 10.10.3

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Environment:
      mongo driver version 1.6.7, Mac OS X, Yosemite, 10.10.3
    • # Replies:
      1
    • Last comment by Customer:
      false

      Description

      I have php7-dev (2015-04-28) and when I try to compile - using pecl - it fails.

      I am attaching the initial and end of the compilation process.

      sudo pecl install mongo
      downloading mongo-1.6.7.tgz ...
      Starting to download mongo-1.6.7.tgz (207,840 bytes)
      ............................................done: 207,840 bytes
      running: phpize
      Configuring for:
      PHP Api Version:         20131218
      Zend Module Api No:      20141001
      Zend Extension Api No:   320140815
      Build with Cyrus SASL (MongoDB Enterprise Authentication) support? [no] : 
      building in /private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7
      running: /private/tmp/pear/temp/mongo/configure --with-mongo-sasl=no
      checking for grep that handles long lines and -e... /usr/local/bin/ggrep
      checking for egrep... /usr/local/bin/ggrep -E
      checking for a sed that does not truncate output... /usr/bin/sed
      checking for cc... cc
      checking whether the C compiler works... yes
      checking for C compiler default output file name... a.out
      checking for suffix of executables...
      checking whether we are cross compiling... no
      checking for suffix of object files... o
      checking whether we are using the GNU C compiler... yes
      checking whether cc accepts -g... yes
      checking for cc option to accept ISO C89... none needed
      checking how to run the C preprocessor... cc -E
      checking for icc... no
      checking for suncc... no
      checking whether cc understands -c and -o together... yes
      checking for system library directory... lib
      checking if compiler supports -R... no
      checking if compiler supports -Wl,-rpath,... yes
      checking build system type... x86_64-apple-darwin14.3.0
      checking host system type... x86_64-apple-darwin14.3.0
      checking target system type... x86_64-apple-darwin14.3.0
      checking for PHP prefix... /usr/local/php5
      checking for PHP includes... -I/usr/local/php5/include/php -I/usr/local/php5/include/php/main -I/usr/local/php5/include/php/TSRM -I/usr/local/php5/include/php/Zend -I/usr/local/php5/include/php/ext -I/usr/local/php5/include/php/ext/date/lib
      checking for PHP extension directory... /usr/local/php5/lib/php/extensions/no-debug-non-zts-20141001
      checking for PHP installed headers prefix... /usr/local/php5/include/php
      checking if debug is enabled... no
      checking if zts is enabled... no
      checking for re2c... no
      configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
      checking for gawk... no
      checking for nawk... no
      checking for awk... awk
      checking if awk is broken... no
      checking whether to enable Mongo extension... yes, shared
      checking whether byte ordering is bigendian... no
      checking whether to compile for recent osx architectures... yes
      checking whether to include code coverage symbols... no
      checking Build with Cyrus SASL support... no
      checking for ld used by cc... /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld
      checking if the linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) is GNU ld... no
      checking for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld option to reload object files... -r
      checking for BSD-compatible nm... /usr/bin/nm
      checking whether ln -s works... yes
      checking how to recognize dependent libraries... pass_all
      checking for ANSI C header files... yes
      checking for sys/types.h... yes
      checking for sys/stat.h... yes
      checking for stdlib.h... yes
      checking for string.h... yes
      checking for memory.h... yes
      checking for strings.h... yes
      checking for inttypes.h... yes
      checking for stdint.h... yes
      checking for unistd.h... yes
      checking dlfcn.h usability... yes
      checking dlfcn.h presence... yes
      checking for dlfcn.h... yes
      checking the maximum length of command line arguments... 196608
      checking command to parse /usr/bin/nm output from cc object... ok
      checking for objdir... .libs
      checking for ar... ar
      checking for ranlib... ranlib
      checking for strip... strip
      checking for dsymutil... dsymutil
      checking for nmedit... nmedit
      checking for -single_module linker flag... yes
      checking for -exported_symbols_list linker flag... yes
      checking if cc supports -fno-rtti -fno-exceptions... yes
      checking for cc option to produce PIC... -fno-common
      checking if cc PIC flag -fno-common works... yes
      checking if cc static flag -static works... no
      checking if cc supports -c -o file.o... yes
      checking whether the cc linker (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld) supports shared libraries... yes
      checking dynamic linker characteristics... darwin14.3.0 dyld
      checking how to hardcode library paths into programs... immediate
      checking whether stripping libraries is possible... yes
      checking if libtool supports shared libraries... yes
      checking whether to build shared libraries... yes
      checking whether to build static libraries... no
       
      creating libtool
      appending configuration tag "CXX" to libtool
      configure: creating ./config.status
      config.status: creating config.h
      running: make
      ... some successful compiled files...
      cc -I./util -I. -I/private/tmp/pear/temp/mongo -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/include -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/main -I/private/tmp/pear/temp/mongo -I/usr/local/php5/include/php -I/usr/local/php5/include/php/main -I/usr/local/php5/include/php/TSRM -I/usr/local/php5/include/php/Zend -I/usr/local/php5/include/php/ext -I/usr/local/php5/include/php/ext/date/lib -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/api -I/private/tmp/pear/temp/mongo/api -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/util -I/private/tmp/pear/temp/mongo/util -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/exceptions -I/private/tmp/pear/temp/mongo/exceptions -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/gridfs -I/private/tmp/pear/temp/mongo/gridfs -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/types -I/private/tmp/pear/temp/mongo/types -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/batch -I/pr
      ivate/tmp/pear/temp/mongo/batch -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/contrib -I/private/tmp/pear/temp/mongo/contrib -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/mcon -I/private/tmp/pear/temp/mongo/mcon -I/private/tmp/pear/temp/pear-build-rootIbZL6F/mongo-1.6.7/mcon/contrib -I/private/tmp/pear/temp/mongo/mcon/contrib -DHAVE_CONFIG_H -g -O2 -arch i386 -arch x86_64 -mmacosx-version-min=10.5 -c /private/tmp/pear/temp/mongo/php_mongo.c  -fno-common -DPIC -o .libs/php_mongo.o
      In file included from /private/tmp/pear/temp/mongo/php_mongo.c:16:
      In file included from /usr/local/php5/include/php/main/php.h:35:
      In file included from /usr/local/php5/include/php/Zend/zend.h:36:
      /usr/local/php5/include/php/Zend/zend_hash.h:132:15: warning: fastcall calling convention ignored on variadic function [-Wignored-attributes]
      ZEND_API void ZEND_FASTCALL zend_hash_apply_with_arguments(HashTable *ht, apply_func_args_t apply_func, int, ...);
                    ^
      /usr/local/php5/include/php/Zend/zend_portability.h:216:39: note: expanded from macro 'ZEND_FASTCALL'
      # define ZEND_FASTCALL __attribute__((fastcall))
                                            ^
      In file included from /private/tmp/pear/temp/mongo/php_mongo.c:22:
      /private/tmp/pear/temp/mongo/php_mongo.h:197:1: error: unknown type name 'zend_object_value'
      zend_object_value php_mongo_type_object_new(zend_class_entry *class_type TSRMLS_DC);
      ^
      /private/tmp/pear/temp/mongo/php_mongo.h:201:74: error: unknown type name 'zend_literal'; did you mean 'zend_label'?
      void mongo_write_property(zval *object, zval *member, zval *value, const zend_literal *key TSRMLS_DC);
                                                                               ^~~~~~~~~~~~
                                                                               zend_label
      /usr/local/php5/include/php/Zend/zend_compile.h:177:3: note: 'zend_label' declared here
      } zend_label;
        ^
      In file included from /private/tmp/pear/temp/mongo/php_mongo.c:22:
      /private/tmp/pear/temp/mongo/php_mongo.h:207:71: error: unknown type name 'zend_literal'; did you mean 'zend_label'?
      zval *mongo_read_property(zval *object, zval *member, int type, const zend_literal *key TSRMLS_DC);
                                                                            ^~~~~~~~~~~~
                                                                            zend_label
      /usr/local/php5/include/php/Zend/zend_compile.h:177:3: note: 'zend_label' declared here
      } zend_label;
        ^
      In file included from /private/tmp/pear/temp/mongo/php_mongo.c:24:
      /private/tmp/pear/temp/mongo/mongoclient.h:19:1: error: unknown type name 'zend_object_value'
      zend_object_value php_mongoclient_new(zend_class_entry *class_type TSRMLS_DC);
      ^
      In file included from /private/tmp/pear/temp/mongo/php_mongo.c:43:
      /private/tmp/pear/temp/mongo/types/id.h:19:52: error: unknown type name 'zend_uint'
      int php_mongo_id_serialize(zval*, unsigned char**, zend_uint*, zend_serialize_data* TSRMLS_DC);
                                                         ^
      /private/tmp/pear/temp/mongo/types/id.h:20:79: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
      int php_mongo_id_unserialize(zval**, zend_class_entry*, const unsigned char*, zend_uint, zend_unserialize_data* TSRMLS_DC);
                                                                                    ^
      /private/tmp/pear/temp/mongo/php_mongo.c:127:48: error: use of undeclared identifier 'new_value_length'
              if (new_value && is_numeric_string(new_value, new_value_length, &converted_val, NULL, 0) == IS_LONG && converted_val > 0) {
                                                            ^
      /private/tmp/pear/temp/mongo/php_mongo.c:139:48: error: use of undeclared identifier 'new_value_length'
              if (new_value && is_numeric_string(new_value, new_value_length, &converted_val, NULL, 0) == IS_LONG && converted_val > 0) {
                                                            ^
      /private/tmp/pear/temp/mongo/php_mongo.c:236:39: warning: incompatible pointer types assigning to 'zend_object_read_property_t' (aka 'zval *(*)(zval *, zval *, int, void **, zval *)') from 'zval *(zval *, zval *, int, const zend_label *)' [-Wincompatible-pointer-types]
              mongo_default_handlers.read_property = mongo_read_property;
                                                   ^ ~~~~~~~~~~~~~~~~~~~
      /private/tmp/pear/temp/mongo/php_mongo.c:237:40: warning: incompatible pointer types assigning to 'zend_object_write_property_t' (aka 'void (*)(zval *, zval *, zval *, void **)') from 'void (zval *, zval *, zval *, const zend_label *)' [-Wincompatible-pointer-types]
              mongo_default_handlers.write_property = mongo_write_property;
                                                    ^ ~~~~~~~~~~~~~~~~~~~~
      /private/tmp/pear/temp/mongo/php_mongo.c:241:44: warning: incompatible pointer types assigning to 'zend_object_write_property_t' (aka 'void (*)(zval *, zval *, zval *, void **)') from 'void (zval *, zval *, zval *, const zend_label *)' [-Wincompatible-pointer-types]
              mongo_type_object_handlers.write_property = mongo_write_property;
                                                        ^ ~~~~~~~~~~~~~~~~~~~~
      /private/tmp/pear/temp/mongo/php_mongo.c:246:40: warning: incompatible pointer types assigning to 'zend_object_write_property_t' (aka 'void (*)(zval *, zval *, zval *, void **)') from 'void (zval *, zval *, zval *, const zend_label *)' [-Wincompatible-pointer-types]
              mongo_default_handlers.write_property = mongo_write_property;
                                                    ^ ~~~~~~~~~~~~~~~~~~~~
      /private/tmp/pear/temp/mongo/php_mongo.c:481:1: error: unknown type name 'zend_object_value'
      zend_object_value php_mongo_type_object_new(zend_class_entry *class_type TSRMLS_DC)
      ^
      /private/tmp/pear/temp/mongo/php_mongo.c:483:2: error: use of undeclared identifier 'zend_object_value'
              PHP_MONGO_OBJ_NEW(mongo_type_object);
              ^
      /private/tmp/pear/temp/mongo/php_mongo.h:183:2: note: expanded from macro 'PHP_MONGO_OBJ_NEW'
              zend_object_value retval;                           \
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:483:2: error: use of undeclared identifier 'retval'
      /private/tmp/pear/temp/mongo/php_mongo.h:192:2: note: expanded from macro 'PHP_MONGO_OBJ_NEW'
              retval.handle = zend_objects_store_put(intern,(zend_objects_store_dtor_t) zend_objects_destroy_object, php_##mongo_obj##_free, NULL TSRMLS_CC); \
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:483:2: error: use of undeclared identifier 'zend_objects_store_dtor_t'
      /private/tmp/pear/temp/mongo/php_mongo.h:192:49: note: expanded from macro 'PHP_MONGO_OBJ_NEW'
              retval.handle = zend_objects_store_put(intern,(zend_objects_store_dtor_t) zend_objects_destroy_object, php_##mongo_obj##_free, NULL TSRMLS_CC); \
                                                             ^
      /private/tmp/pear/temp/mongo/php_mongo.c:483:2: error: use of undeclared identifier 'retval'
      /private/tmp/pear/temp/mongo/php_mongo.h:193:2: note: expanded from macro 'PHP_MONGO_OBJ_NEW'
              retval.handlers = &mongo_default_handlers;                     \
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:483:2: error: use of undeclared identifier 'retval'
      /private/tmp/pear/temp/mongo/php_mongo.h:195:9: note: expanded from macro 'PHP_MONGO_OBJ_NEW'
              return retval;
                     ^
      /private/tmp/pear/temp/mongo/php_mongo.c:496:44: error: too many arguments provided to function-like macro invocation
              while (zend_hash_get_current_data(tagset, (void **)&tag) == SUCCESS) {
                                                        ^
      /usr/local/php5/include/php/Zend/zend_hash.h:185:9: note: macro 'zend_hash_get_current_data' defined here
      #define zend_hash_get_current_data(ht) \
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:496:9: error: use of undeclared identifier 'zend_hash_get_current_data'; did you mean 'zend_hash_get_current_data_ex'?
              while (zend_hash_get_current_data(tagset, (void **)&tag) == SUCCESS) {
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~
                     zend_hash_get_current_data_ex
      /usr/local/php5/include/php/Zend/zend_hash.h:169:30: note: 'zend_hash_get_current_data_ex' declared here
      ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);
                                   ^
      /private/tmp/pear/temp/mongo/php_mongo.c:496:9: warning: comparison of function 'zend_hash_get_current_data_ex' equal to a null pointer is always false [-Wtautological-pointer-compare]
              while (zend_hash_get_current_data(tagset, (void **)&tag) == SUCCESS) {
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~                           ~~~~~~~
      /private/tmp/pear/temp/mongo/php_mongo.c:496:9: note: prefix with the address-of operator to silence this warning
              while (zend_hash_get_current_data(tagset, (void **)&tag) == SUCCESS) {
                     ^
                     &
      /private/tmp/pear/temp/mongo/php_mongo.c:497:7: warning: implicit declaration of function 'Z_TYPE_PP' is invalid in C99 [-Wimplicit-function-declaration]
                      if (Z_TYPE_PP(tag) != IS_STRING) {
                          ^
      /private/tmp/pear/temp/mongo/php_mongo.c:505:75: error: too many arguments to function call, expected 4, have 6
                              switch (zend_hash_get_current_key_ex(tagset, &key, &key_len, &num_key, 0, NULL)) {
                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                   ^~~~~~~
      /usr/local/php5/include/php/Zend/zend_hash.h:166:1: note: 'zend_hash_get_current_key_ex' 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/local/php5/include/php/main/php_config.h:6:19: note: expanded from macro 'ZEND_API'
      # define ZEND_API __attribute__ ((visibility("default")))
                        ^
      /private/tmp/pear/temp/mongo/php_mongo.c:538:2: warning: implicit declaration of function 'MAKE_STD_ZVAL' is invalid in C99 [-Wimplicit-function-declaration]
              MAKE_STD_ZVAL(tagsets);
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:553:46: error: too many arguments provided to function-like macro invocation
                              add_assoc_string(tagset, name, colon + 1, 1);
                                                                        ^
      /usr/local/php5/include/php/Zend/zend_API.h:403:9: note: macro 'add_assoc_string' defined here
      #define add_assoc_string(__arg, __key, __str) add_assoc_string_ex(__arg, __key, strlen(__key), __str)
              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:553:4: error: use of undeclared identifier 'add_assoc_string'
                              add_assoc_string(tagset, name, colon + 1, 1);
                              ^
      /private/tmp/pear/temp/mongo/php_mongo.c:587:45: error: too many arguments provided to function-like macro invocation
              while (zend_hash_get_current_data(tagsets, (void **)&tagset) == SUCCESS) {
                                                         ^
      /usr/local/php5/include/php/Zend/zend_hash.h:185:9: note: macro 'zend_hash_get_current_data' defined here
      #define zend_hash_get_current_data(ht) \
              ^
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      9 warnings and 20 errors generated.
      make: *** [php_mongo.lo] Error 1
      ERROR: `make' failed
      

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:
                Days since reply:
                4 years, 21 weeks, 5 days ago
                Date of 1st Reply: