[
https://issues.apache.org/jira/browse/THRIFT-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15182876#comment-15182876
]
ASF GitHub Bot commented on THRIFT-3370:
----------------------------------------
GitHub user gadLinux opened a pull request:
https://github.com/apache/thrift/pull/929
Fix problem on #THRIFT-3370
This is a rebased master of the thrift-3370.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/gadLinux/thrift thrift-3370
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/thrift/pull/929.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #929
----
commit 0a85d968a4407fe5f3ab4bb63420dbd5574490e9
Author: Gonzalo Aguilar Delgado <[email protected]>
Date: 2015-10-09T02:14:59Z
Fix problem on #THRIFT-3370
----
> errno extern variable redefined. Not compiling for Android
> ----------------------------------------------------------
>
> Key: THRIFT-3370
> URL: https://issues.apache.org/jira/browse/THRIFT-3370
> Project: Thrift
> Issue Type: Bug
> Components: C glib - Library
> Affects Versions: 0.9.3
> Reporter: Gonzalo Aguilar
> Assignee: Gonzalo Aguilar
> Labels: build, c, easyfix
> Fix For: 0.10.0
>
>
> It seems that the definition of errno we are using on the c_glib transport is
> not 100% correct. While it's ok for ISO C99 compilers it fails under Android.
> My opinion is that Android is behaving incorrectly here but I cannot be sure
> until I check with you.
> In the thrift_socket.c an thrift_server_socket.c implementations there's a
> errno variable declared.
> /* for errors coming from socket() and connect() */
> extern int errno;
> This variable is redefined in the ndk of the in the file
> arch-arm/usr/include/errno.h
> I don't know why.
> /* a macro expanding to the errno l-value */
> #define errno (*__errno())
> So the compilation fails because redefined.
> Commenting out the extern definition on these files it compiles, it was
> tested and it works. But I don't know how this can work since the definition
> of errno on the files change from int to pointer.
> Can someone comment this please?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)