Add SO_REUSEPORT for Android#70
Conversation
|
The CI here is failing which'll prevent this from landing, and I'd prefer o have constants like this verified on Android. If it's actually present then are there more recent Android compilers and/or headers which have the constants? |
|
I’m not sure. FWIW, grep on my system finds If in doubt, would you rather have the |
|
Ok, I've updated our docker images to use API level 21 instead of 18 (I at least don't know of a reason to use an older one right now) and I'm in the process of uploading the new image tagged as Note that it takes awhile to upload, so it may be ~15min before the image is available (travis may take awhile to get around to it though) |
|
I’ve pushed a new commit but https://travis-ci.org/rust-lang-nursery/libc/requests doesn’t show a request for a new build. |
|
Hm it looks like this PR doesn't yet include that change? (but seems referenced?) |
|
I pushed to the wrong branch :) |
92cf0c4 to
eab5dac
Compare
|
https://travis-ci.org/rust-lang-nursery/libc/builds/92660417 failed with Pushing the same commit again to trigger another build. |
|
Same again. Any suggestion @alexcrichton ? 2015-11-22 does show up in https://hub.docker.com/r/alexcrichton/rust-slave-android/tags/ Could the 10 min limit be hit while Travis is downloading a 2 GB image? |
|
I hit restart on this build but it may be time to use |
4eefa8f to
23981ca
Compare
|
Looks like there was some trouble finding |
|
Yeah, it looks like what I did is not correct usage, but I don’t know what is. Is |
2cd24f0 to
779ffb4
Compare
|
After trying a few random places to insert |
The only methods it define require libc::SO_REUSEPORT, which current versions on the libc crate does not provide for Android targets. This is a temporary work around to make this crate build at all on Android. It should be reverted when rust-lang/libc#70 lands.
The only methods it define require libc::SO_REUSEPORT, which current versions on the libc crate does not provide for Android targets. This is a temporary work around to make this crate build at all on Android. It should be reverted when rust-lang/libc#70 lands. This not a breaking change since the crate did not build at all before.
|
I believe this is just because docker is being run with |
0f07feb to
0240ec7
Compare
|
Trying a variation of #74: before_script:
- if [ "$TARGET" = "arm-linux-androideabi" ]; then
travis_wait docker pull $(cat android-docker-image);
fi |
535063e to
fcc34c9
Compare
|
So I replaced
… but the job ran for 47 min 41 sec already, so even with another trick to have less output it’s likely to hit the 50 min timeout. |
|
The raw log also contains "Layer already being pulled by another client. Waiting." |
|
cc @edunham I think perhaps it's time to bring in our ops team :) |
|
Now that I merged #88, could this be rebased? I think it should "Just Work" to add the constant now. (sorry for the runaround!) |
fcc34c9 to
71756d0
Compare
|
Rebased. |
The `net2` crate currently fails to cross-compile to Android with ``error: unresolved name `libc::SO_REUSEPORT` `` According to http://stackoverflow.com/a/14388707/1162888, Android is essentially the same as Linux for the purpose of socket features support, and the Linux kernel has supported `SO_REUSEPORT` since version 3.9. According to http://android.stackexchange.com/a/51656, Android has had more recent kernels than that since version 4.4 Kit Kat.
71756d0 to
52f4f39
Compare
|
Reverted version number bump, as it made tests fail to find libc at that version (presumably from crates.io?) Travis failure on MIPS doesn’t looks related to this change? ... |
* Docs: Fix typo in module documentation s/paltform/platform/g * [x86] Implement sse4.2 string cmp intrinsics - Implement - _mm_cmpistrm - _mm_cmpistri - _mm_cmpistrz - _mm_cmpistrc - _mm_cmpistrs - _mm_cmpistro - _mm_cmpistra - _mm_cmpestrm - _mm_cmpestrz - _mm_cmpestrc - _mm_cmpestrs - _mm_cmpestro - _mm_cmpestra - Add documentation to _mm_cmpestri - Add missing constants
The
net2crate currently fails to cross-compile to Android witherror: unresolved namelibc::SO_REUSEPORT``According to http://stackoverflow.com/a/14388707/1162888, Android is essentially the same as Linux for the purpose of socket features support, and the Linux kernel has supported
SO_REUSEPORTsince version 3.9.According to http://android.stackexchange.com/a/51656, Android has had more recent kernels than that since version 4.4 Kit Kat.
(This blocks servo/servo#8446.)