- marked as proposal
Can't build for PHP 7
creating libtool appending configuration tag "CXX" to libtool configure: creating ./config.status config.status: creating config.h running: make /bin/bash /tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/libtool --mode=compile cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/include -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/libev/ev.c -o libev/ev.lo mkdir libev/.libs cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/include -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/libev/ev.c -fPIC -DPIC -o libev/.libs/ev.o /tmp/pear/temp/ev/libev/ev.c:1609:31: warning: 'ev_default_loop_ptr' initialized and declared 'extern' EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ ^ /bin/bash /tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/libtool --mode=compile cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/include -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/util.c -o util.lo mkdir .libs cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/include -I/tmp/pear/temp/pear-build-defaultuserqJyKOz/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/util.c -fPIC -DPIC -o .libs/util.o /tmp/pear/temp/ev/util.c: In function 'php_ev_zval_to_fd': /tmp/pear/temp/ev/util.c:34:45: error: expected expression before 'php_stream' if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, ppfd, -1, NULL, php_file_le_stream())) { ^ In file included from /usr/local/include/php/main/php.h:394:0, from /tmp/pear/temp/ev/common.h:25, from /tmp/pear/temp/ev/embed.h:21, from /tmp/pear/temp/ev/php_ev.h:22, from /tmp/pear/temp/ev/util.c:19: /usr/local/include/php/main/php_streams.h:271:99: warning: passing argument 1 of 'zend_fetch_resource2_ex' from incompatible pointer type #define php_stream_from_zval_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource2_ex((pzval), "stream", php_file_le_stream(), php_file_le_pstream()) ^ /tmp/pear/temp/ev/util.c:35:4: note: in expansion of macro 'php_stream_from_zval_no_verify' php_stream_from_zval_no_verify(stream, ppfd); ^ In file included from /usr/local/include/php/Zend/zend_API.h:28:0, from /usr/local/include/php/main/php.h:39, from /tmp/pear/temp/ev/common.h:25, from /tmp/pear/temp/ev/embed.h:21, from /tmp/pear/temp/ev/php_ev.h:22, from /tmp/pear/temp/ev/util.c:19: /usr/local/include/php/Zend/zend_list.h:66:16: note: expected 'struct zval *' but argument is of type 'struct zval **' ZEND_API void *zend_fetch_resource2_ex(zval *res, const char *resource_type_name, int resource_type, int resource_type2); ^ Makefile:195: recipe for target 'util.lo' failed make: *** [util.lo] Error 1 ERROR: `make' failed
Comments (9)
-
repo owner -
repo owner - changed status to resolved
Please check out
php7
branch. The tests are passing.I'm not merging to
master
because the code is different for pre-PHP7 versions. Currently, the PECL team has no idea how do we package PHP7 extensions. -
Maybe release separate package for php7
-
repo owner @aurimasniekis I'll build a universal package and upload it to PECL. Just a little busy these days.
-
repo owner Uploaded universal package to PECL as ev 1.0.0RC1 (beta).
-
Account Deleted @osmanov : Is this something that should be working now with the universal package? Getting an error similar to (but different than) the original poster. PECL package 1.0.0RC9 (beta) for PHP 7.0.4:
running: make /bin/bash /tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/libtool --mode=compile cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/include -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/libev/ev.c -o libev/ev.lo libtool: compile: cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/include -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/libev/ev.c -fPIC -DPIC -o libev/.libs/ev.o /tmp/pear/temp/ev/libev/ev.c:1609:31: warning: 'ev_default_loop_ptr' initialized and declared 'extern' EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ ^ /tmp/pear/temp/ev/libev/ev.c: In function 'evpipe_write': /tmp/pear/temp/ev/libev/ev.c:2238:11: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write (evpipe [1], &counter, sizeof (uint64_t)); ^ /tmp/pear/temp/ev/libev/ev.c:2250:11: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result] write (evpipe [1], &(evpipe [1]), 1); ^ /tmp/pear/temp/ev/libev/ev.c: In function 'pipecb': /tmp/pear/temp/ev/libev/ev.c:2271:11: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result] read (evpipe [1], &counter, sizeof (uint64_t)); ^ /tmp/pear/temp/ev/libev/ev.c:2285:11: warning: ignoring return value of 'read', declared with attribute warn_unused_result [-Wunused-result] read (evpipe [0], &dummy, sizeof (dummy)); ^ /bin/bash /tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/libtool --mode=compile cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/include -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/util.c -o util.lo libtool: compile: cc -I/tmp/pear/temp/ev/libev -I. -I/tmp/pear/temp/ev -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/include -I/tmp/pear/temp/pear-build-root7rLf0u/ev-0.2.15/main -I/tmp/pear/temp/ev -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/ev/util.c -fPIC -DPIC -o .libs/util.o /tmp/pear/temp/ev/util.c: In function 'php_ev_zval_to_fd': /tmp/pear/temp/ev/util.c:32:6: warning: implicit declaration of function 'Z_TYPE_PP' [-Wimplicit-function-declaration] if (Z_TYPE_PP(ppfd) == IS_RESOURCE) { ^ /tmp/pear/temp/ev/util.c:34:7: warning: implicit declaration of function 'ZEND_FETCH_RESOURCE_NO_RETURN' [-Wimplicit-function-declaration] if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, ppfd, -1, NULL, php_file_le_stream())) { ^ /tmp/pear/temp/ev/util.c:34:45: error: expected expression before 'php_stream' if (ZEND_FETCH_RESOURCE_NO_RETURN(stream, php_stream *, ppfd, -1, NULL, php_file_le_stream())) { ^ In file included from /usr/include/php/20151012/main/php.h:389:0, from /tmp/pear/temp/ev/common.h:25, from /tmp/pear/temp/ev/embed.h:21, from /tmp/pear/temp/ev/php_ev.h:22, from /tmp/pear/temp/ev/util.c:19: /usr/include/php/20151012/main/php_streams.h:271:99: warning: passing argument 1 of 'zend_fetch_resource2_ex' from incompatible pointer type [-Wincompatible-pointer-types] #define php_stream_from_zval_no_verify(xstr, pzval) (xstr) = (php_stream*)zend_fetch_resource2_ex((pzval), "stream", php_file_le_stream(), php_file_le_pstream()) ^ /tmp/pear/temp/ev/util.c:35:4: note: in expansion of macro 'php_stream_from_zval_no_verify' php_stream_from_zval_no_verify(stream, ppfd); ^ In file included from /usr/include/php/20151012/Zend/zend_API.h:28:0, from /usr/include/php/20151012/main/php.h:40, from /tmp/pear/temp/ev/common.h:25, from /tmp/pear/temp/ev/embed.h:21, from /tmp/pear/temp/ev/php_ev.h:22, from /tmp/pear/temp/ev/util.c:19: /usr/include/php/20151012/Zend/zend_list.h:66:16: note: expected 'zval * {aka struct _zval_struct *}' but argument is of type 'zval ** {aka struct _zval_struct **}' ZEND_API void *zend_fetch_resource2_ex(zval *res, const char *resource_type_name, int resource_type, int resource_type2); ^ /tmp/pear/temp/ev/util.c:87:15: warning: implicit declaration of function 'Z_LVAL_PP' [-Wimplicit-function-declaration] file_desc = Z_LVAL_PP(ppfd); ^ Makefile:195: recipe for target 'util.lo' failed make: *** [util.lo] Error 1 ERROR: `make' failed
-
repo owner @frickenate you're trying to build version
ev-0.2.15
. I guess you're runningsudo pecl install ev
which pulls the stable version. But the latest version (1.0.0RC9
) is beta. So the command should besudo pecl install ev-beta
-
Account Deleted Ah thanks, that did the trick. And now I learn this is a separate implementation from the pecl package (which is not included in the pecl repo) that React supports. I see some effort has been put into trying to add support for your implementation into React ( most recently https://github.com/reactphp/event-loop/pull/25 ), though apparently without success as of yet. How unfortunate, considering the supported implementation is all but abandoned by the developer (no php 7 support anytime soon).
-
repo owner @frickenate, I'm open to communication, anyway. There are no open issues in the tracker so far, except the one regarding Windows package.
- Log in to comment
Of course you can't. PHP7 is not backwards compatible, so the code has to be re-written to match the new API.