Edit report at https://bugs.php.net/bug.php?id=64340&edit=1
ID: 64340 Updated by: re...@php.net Reported by: re...@php.net Summary: sockets tests failed -Status: Closed +Status: Re-Opened Type: Bug Package: Sockets related Operating System: Mac OSX 10.8 PHP Version: 5.5.0alpha5 Assigned To: laruence Block user comment: N Private report: N New Comment: Hi, the attached patch is intend to fix IPV6_PKTINFO failure, the commit didn't contain all of the fix. but only the macro define. The patch isn't break build. but the partially applied patch. only define __APPLE_USE_RFCxxxx is not enough. the rest of the changes should be applied too. I couldn't figure out a better solution which didn't require header inclusion order, since the macro itself required to be defined first. Previous Comments: ------------------------------------------------------------------------ [2013-03-05 06:05:33] larue...@php.net I revert the previous fix, since the build broken. I am wondering, if don't fix that, what's the problem is? thanks ------------------------------------------------------------------------ [2013-03-05 06:04:06] larue...@php.net Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=3f67d5ae434236be1db2ee54baf85725ac7b6a56 Log: Revert "Fixed Bug #64340 (sockets tests failed) Patch by Reeze" ------------------------------------------------------------------------ [2013-03-05 05:58:56] larue...@php.net Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=3f67d5ae434236be1db2ee54baf85725ac7b6a56 Log: Revert "Fixed Bug #64340 (sockets tests failed) Patch by Reeze" ------------------------------------------------------------------------ [2013-03-04 18:21:21] re...@php.net Hi, cataphract The macro __APPLE_USE_RFC_3542 must be defined before including netinet/in.h, but not all of the our c files include php_sockets.h in the topmost, but by indirectly include other header files. eg: $ head -n 1 conversions.c sockaddr_conv.h $ header -n 5 sockaddr_conv.h ... #include <php_network.h> #include "php_sockets.h" /* php_socket */ php_network.h wil be included <netinet/in.h> before the macro defined. and php_network.h has to been included before php_sockets.h, so I have to move conversion.h up instead. in the mean time, in convesion.h <netinet/in.h> was included before php_sockets.h too, so I have to move it up to meet the requirement of the macro. The current partial patch breaks the build because of missing the left part: Undefined symbols for architecture x86_64: "_from_zval_write_in6_pktinfo", referenced from: _init_ancillary_registry in sendrecvmsg.o _php_do_setsockopt_ipv6_rfc3542 in sendrecvmsg.o "_to_zval_read_in6_pktinfo", referenced from: _init_ancillary_registry in sendrecvmsg.o _php_do_getsockopt_ipv6_rfc3542 in sendrecvmsg.o ld: symbol(s) not found for architecture x86_64 ------------------------------------------------------------------------ [2013-03-03 02:55:50] larue...@php.net Thank you for your bug report. This issue has already been fixed in the latest released version of PHP, which you can download at http://www.php.net/downloads.php I commmitted, since reeze doesn't has PHP karma. please verify the fix. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=64340 -- Edit this bug report at https://bugs.php.net/bug.php?id=64340&edit=1