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

Reply via email to