Looks like a bug in libuv to me: <a href="https://github.com/joyent/libuv/blob/a2506c936296006abe7b8a7517c3f37691191858/src/unix/linux-core.c#L49">https://github.com/joyent/libuv/blob/a2506c936296006abe7b8a7517c3f37691191858/src/unix/linux-core.c#L49</a><br>
<div><br></div><div>android-ifaddrs.h depends on sockaddr (defined in sys/socket.h), but never includes it. linux-core.c does include it, but only after including android-ifaddrs.h.</div><br><div>On 1403990292582, 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">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> 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) /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]: *** [/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>