[ 
https://issues.apache.org/jira/browse/THRIFT-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14949777#comment-14949777
 ] 

ASF GitHub Bot commented on THRIFT-3370:
----------------------------------------

GitHub user gadLinux opened a pull request:

    https://github.com/apache/thrift/pull/638

    Fix problem on #THRIFT-3370

    This comments out the line with the extern of errno so we can reenable if 
someone complains about it.
    Compiled against x86_64, i686 and arm android and it worked.

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/638.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 #638
    
----
commit ea3eb6442923d28ee15767be4f827362e814e8ab
Author: Gonzalo Aguilar Delgado <[email protected]>
Date:   2015-10-09T02:14:59Z

    Fix problem on #THRIFT-3370

----


> errno extern variable redefined. Not compiling in 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
>              Labels: build, c, easyfix
>
> 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)

Reply via email to