[ https://issues.apache.org/jira/browse/THRIFT-3370?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14967316#comment-14967316 ]
Hudson commented on THRIFT-3370: -------------------------------- SUCCESS: Integrated in Thrift #1695 (See [https://builds.apache.org/job/Thrift/1695/]) THRIFT-3370 errno extern variable redefined. Not compiling for Android (nsuke: rev b343feee0d048e214c93bd78560af9185531c094) * lib/c_glib/src/thrift/c_glib/transport/thrift_socket.c * lib/c_glib/src/thrift/c_glib/transport/thrift_server_socket.c > 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 > Labels: build, c, easyfix > Fix For: 1.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)