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

Reply via email to