You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Anthony Molinaro (JIRA)" <ji...@apache.org> on 2010/08/14 09:05:30 UTC

[jira] Created: (THRIFT-851) php extension fails to compile on centos 5.x

php extension fails to compile on centos 5.x
--------------------------------------------

                 Key: THRIFT-851
                 URL: https://issues.apache.org/jira/browse/THRIFT-851
             Project: Thrift
          Issue Type: Bug
          Components: Library (PHP)
    Affects Versions: 0.4
            Reporter: Anthony Molinaro
         Attachments: php-ext-include.patch

At some point the includes for endian.h and byte_order.h were changed from

#include <endian.h>
#include <byteswap.h>

to

#include <machine/endian.h>
#include <machine/byte_order.h>

Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.

I fixed it by using some ifdef's and using the old includes on linux.

Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Todd Lipcon updated THRIFT-851:
-------------------------------

    Attachment: thrift-851.txt

Maybe something like this? (I'm on a laptop without a proper build environment at the moment, so haven't verified that this works on either platform)

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-851:
---------------------------------

    Fix Version/s: 0.5

I rolled this back from the 0.4.x branch, since it makes things worse. 

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Anthony Molinaro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12899066#action_12899066 ] 

Anthony Molinaro commented on THRIFT-851:
-----------------------------------------

sys/param.h also seems to work fine on OSX Snow Leopard

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Anthony Molinaro (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898799#action_12898799 ] 

Anthony Molinaro commented on THRIFT-851:
-----------------------------------------

Works for me on centos.

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Anthony Molinaro (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Anthony Molinaro updated THRIFT-851:
------------------------------------

    Attachment: php-ext-include.patch

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>         Attachments: php-ext-include.patch
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury updated THRIFT-851:
---------------------------------

    Comment: was deleted

(was: I rolled this back from the 0.4.x branch, since it makes things worse. )

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12898721#action_12898721 ] 

Todd Lipcon commented on THRIFT-851:
------------------------------------

Rather than doing the ifdef, can we just include sys/param.h? It seems like this exists on both OSX and Linux and includes the correct endianness file. Also will need to add this header to configure.ac in the AC_CHECK_HEADER section.

byte_order.h doesn't seem to be necessary, since we already define our own byteswap macro, right?

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>         Attachments: php-ext-include.patch
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Bryan Duxbury (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury closed THRIFT-851.
--------------------------------

      Assignee: Todd Lipcon
    Resolution: Fixed

OK, I committed Todd's patch. 

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: Library (PHP)
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>            Assignee: Todd Lipcon
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Dave Engberg (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905087#action_12905087 ] 

Dave Engberg commented on THRIFT-851:
-------------------------------------

This broke the marshaling of i64 data on Windows when compiling with Visual Studio.  I.e. i64 marshals correctly via TBinaryProtocol::readI64() using the Thrift 0.4.0 tag, but marshals incorrectly with the current Thrift trunk.
Here's the only delta (in TProtocol.h):

-#ifdef HAVE_ENDIAN_H
-#include <endian.h>
+#ifdef HAVE_SYS_PARAM_H_
+#include <sys/param.h>
 #endif

Since 'endian.h' was removed from the header, the conditional macros that check for endian-ness don't appear to do the right thing on Windows.


> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>            Assignee: Todd Lipcon
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (THRIFT-851) php extension fails to compile on centos 5.x

Posted by "Todd Lipcon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/THRIFT-851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12905161#action_12905161 ] 

Todd Lipcon commented on THRIFT-851:
------------------------------------

Is there no sys/param.h on windows? Or is it somehow not getting the HAVE_SYS_PARAM_H flag set? (I don't know what the autoconf integration does on the visual studio side)

> php extension fails to compile on centos 5.x
> --------------------------------------------
>
>                 Key: THRIFT-851
>                 URL: https://issues.apache.org/jira/browse/THRIFT-851
>             Project: Thrift
>          Issue Type: Bug
>          Components: PHP - Library
>    Affects Versions: 0.4
>            Reporter: Anthony Molinaro
>            Assignee: Todd Lipcon
>             Fix For: 0.5
>
>         Attachments: php-ext-include.patch, thrift-851.txt
>
>
> At some point the includes for endian.h and byte_order.h were changed from
> #include <endian.h>
> #include <byteswap.h>
> to
> #include <machine/endian.h>
> #include <machine/byte_order.h>
> Unfortunately the latter files only exist on bsd and bsd derived systems like Mac OSX.
> I fixed it by using some ifdef's and using the old includes on linux.
> Patch is attached

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.