You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Dave Engberg (JIRA)" <ji...@apache.org> on 2010/09/01 18:50:04 UTC

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

    [ 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.