I had missed that... That's very strange. Not to mention that (now that I look more closely at the error message) it's complaining about a stray '.' token, when there clearly aren't any around. Is the preprocessor playing tricks on you?<br>
<br><div>On Sat, Jun 28, 2014, 17:00, Skirmantas Kligys <<a href="mailto:skirmantas.kligys@gmail.com">skirmantas.kligys@gmail.com</a>> wrote:</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Dan,<br>
<br>
I thought so too at first, so I tried moving line "#include<br>
<sys/socket.h>" before "#include "android-ifaddrs.h", and still got<br>
the same error.  If you take a closer look at the error message, it is<br>
only failing the third time sockaddr is mentioned, so a missing header<br>
couldn't be the reason.  Commenting just the line "struct sockaddr<br>
*ifa_dstaddr;" out allows the build to proceed, so at that point I<br>
decided I had no idea what was happening.<br>
<br>
Could it be that somehow the Linux ifaddrs.h gets included first, and<br>
it contains an incompatible definition of "struct ifaddrs", and this<br>
the first field where the two definitions differ?<br>
<br>
On Sat, Jun 28, 2014 at 2:43 PM, Dan Albert <<a href="mailto:danalbert@google.com" target="_blank">danalbert@google.com</a>> wrote:<br>
> Looks like a bug in libuv to me:<br>
> <a href="https://github.com/joyent/libuv/blob/a2506c936296006abe7b8a7517c3f37691191858/src/unix/linux-core.c#L49" target="_blank">https://github.com/joyent/<u></u>libuv/blob/<u></u>a2506c936296006abe7b8a7517c3f3<u></u>7691191858/src/unix/linux-<u></u>core.c#L49</a><br>

><br>
> android-ifaddrs.h depends on sockaddr (defined in sys/socket.h), but never<br>
> includes it. linux-core.c does include it, but only after including<br>
> android-ifaddrs.h.<br>
><br>
> On 1403990292582, Skirmantas Kligys <<a href="mailto:skirmantas.kligys@gmail.com" target="_blank">skirmantas.kligys@gmail.com</a>> wrote:<br>
>><br>
>> I am trying to build a rustc for x86_64 Linux that would cross-compile<br>
>> to Android.  I follow instructions on this page:<br>
>><br>
>> <a href="https://github.com/rust-lang/rust/wiki/Doc-building-for-android" target="_blank">https://github.com/rust-lang/<u></u>rust/wiki/Doc-building-for-<u></u>android</a><br>
>><br>
>> Here is my configure command line:<br>
>><br>
>> ../configure --prefix=/usr/local/stow/rust-<u></u>android-20140627<br>
>> --target=arm-linux-androideabi<br>
>> --android-cross-path=/home/<u></u>skligys/Work/Android/android-<u></u>ndk-standalone<br>
>><br>
>> Everything seems to go smoothly until compiling libuv, and then<br>
>><br>
>> 1) I get the message that gyp is missing, so I follow the libuv's<br>
>> readme and do in src/libuv:<br>
>><br>
>> mkdir build && git clone <a href="https://git.chromium.org/external/gyp.git" target="_blank">https://git.chromium.org/<u></u>external/gyp.git</a><br>
>> build/gyp<br>
>><br>
>> 2) Libuv compile proceeds for a while and then fails:<br>
>><br>
>> make[1]: Entering directory<br>
>> `/home/skligys/Temp/Rust/rust/<u></u>build/arm-linux-androideabi/<u></u>rt/libuv'<br>
>>   CC(target)<br>
>> /home/skligys/Temp/Rust/rust/<u></u>build/arm-linux-androideabi/<u></u>rt/libuv/Release/obj.target/<u></u>libuv/src/unix/linux-core.o<br>
>> In file included from ../../../../src/libuv/src/<u></u>unix/linux-core.c:31:0:<br>
>> ../../../../src/libuv/include/<u></u>android-ifaddrs.h:35:19: error: expected<br>
>> ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘.’ token<br>
>>   struct sockaddr *ifa_dstaddr;<br>
>>                    ^<br>
>> make[1]: ***<br>
>> [/home/skligys/Temp/Rust/rust/<u></u>build/arm-linux-androideabi/<u></u>rt/libuv/Release/obj.target/<u></u>libuv/src/unix/linux-core.o]<br>
>> Error 1<br>
>> make[1]: Leaving directory<br>
>> `/home/skligys/Temp/Rust/rust/<u></u>build/arm-linux-androideabi/<u></u>rt/libuv'<br>
>> make: *** [arm-linux-androideabi/rt/<u></u>libuv/Release/libuv.a] Error 2<br>
>><br>
>> Any thoughts?<br>
>> ______________________________<u></u>_________________<br>
>> Rust-dev mailing list<br>
>> <a href="mailto:Rust-dev@mozilla.org" target="_blank">Rust-dev@mozilla.org</a><br>
>> <a href="https://mail.mozilla.org/listinfo/rust-dev" target="_blank">https://mail.mozilla.org/<u></u>listinfo/rust-dev</a><br>
</blockquote>