Edit report at https://bugs.php.net/bug.php?id=64340&edit=1
ID: 64340 Comment by: re...@php.net Reported by: re...@php.net Summary: sockets tests failed Status: Feedback 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, 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 Previous Comments: ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ [2013-03-03 02:53:54] larue...@php.net Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=f2246f352fc01295c370728d68a9bcd2bb546652 Log: Fixed Bug #64340 (sockets tests failed) Patch by Reeze ------------------------------------------------------------------------ [2013-03-03 02:53:30] larue...@php.net Automatic comment on behalf of laruence Revision: http://git.php.net/?p=php-src.git;a=commit;h=f2246f352fc01295c370728d68a9bcd2bb546652 Log: Fixed Bug #64340 (sockets tests failed) Patch by Reeze ------------------------------------------------------------------------ [2013-03-02 19:19:57] cataphr...@php.net What's the deal with having changed the header includes order? I don't really like having headers that must be included in a specific order, that usually means one header depends on another, but fails to include it; if there's something that requires the headers to be in a specific order that should be fixed instead. As to rest (the skip and the define for __APPLE_USE_RFC_3542), I see no problem with it; you can commit it yourself. ------------------------------------------------------------------------ [2013-03-02 18:05:30] re...@php.net The following patch has been added/updated: Patch Name: ipv6-pktinfo-and-tiny-test-fix Revision: 1362247530 URL: https://bugs.php.net/patch-display.php?bug=64340&patch=ipv6-pktinfo-and-tiny-test-fix&revision=1362247530 ------------------------------------------------------------------------ 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