-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Cross compilation to 32-bit may be broken on recent nightlies #45500
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
manifests as these CI failures in cargo: rust-lang/cargo#4658 |
try pinning to a nightly of two weeks ago This passed CI [over here](#4658) and should get the 32-bit windows cross compiling tests passing until someone figures out why rustc is broken for that purpose r? @alexcrichton cc rust-lang/rust#45500
Yes, when switching to SipHash I also switched away from using |
Failure might be related to rust-lang/rust#45500
…ielb1 Fix 32- vs 64-bit platform instability in StableHasher. This might already be enough to fix issue #45500. r? @alexcrichton
A simple Docker based test case fails with link issues. I made no edits to the generated code. This is just hello world.
I used https://github.com/ioft/dockerhub/i386-ubuntu/Dockerfile to test this. Note it makes an i686, not i386 but it is still 32 bit linux. The failed output looks like this: = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m32" "-L" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib" "/root/test32bit/target/debug/deps/test32bit-4197078e3788cd4f.test32bit0.rust-cgu.o" "/root/test32bit/target/debug/deps/test32bit-4197078e3788cd4f.test32bit1.rust-cgu.o" "-o" "/root/test32bit/target/debug/deps/test32bit-4197078e3788cd4f" "/root/test32bit/target/debug/deps/test32bit-4197078e3788cd4f.crate.allocator.rust-cgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-L" "/root/test32bit/target/debug/deps" "-L" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libstd-f64e65221ded4189.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/liballoc_jemalloc-15603b85f9b07db5.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/liballoc_system-7f202905b2f90235.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libpanic_unwind-fd7102ed26e1ee75.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/librand-b2608977e05bf703.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libunwind-3d18fc673b5da13d.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/liblibc-390d7866de44001e.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/liballoc-28619888b40bbbe2.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libstd_unicode-6e3e1588214a0702.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libcore-a30e14812908fc60.rlib" "/root/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/i686-unknown-linux-gnu/lib/libcompiler_builtins-20161fbf48c6c15f.rlib" "-Wl,-Bdynamic" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util" "-l" "util" |
In a bigger project I see LOTS of linker errors. It cannot find core::panic, fmt macros, and on and on. |
The latest nightly should contain a potential fix to this problem. @shaleh, would you mind re-testing your case? |
Revert "Auto merge of #4659 - integer32llc:pin-nightly, r=alexcrichton" This reverts commit 55442e8, reversing changes made to 92a3a4e. Testing to see if there is a fix on the latest nightly as rumored here: rust-lang/rust#45500 (comment)
@michaelwoerister I will not not until Tuesday or Wednesday. |
triage: P-high |
Success!
System: uname -a Compiler: rustc --version rustup show installed toolchainsnightly-i686-unknown-linux-gnu (default) active toolchainnightly-i686-unknown-linux-gnu (default) |
Thanks a lot for confirming, @shaleh! I'm going to close this issue. Please re-open if there's still a case that isn't fixed. |
As of a few nights ago I've noticed that a good bit of the Travis CI runs I've got that cross compile to 32-bit are now broken due to odd linker errors, for example https://travis-ci.org/alexcrichton/cc-rs/builds/290881204.
I bisected nightlies to this range, and @michaelwoerister I wonder if this is related to the change to sip128? Do you know of anything there that would cause linker errors?
Unfortunately I haven't been able to reproduce on Linux, I've just seen this on OSX and Windows
The text was updated successfully, but these errors were encountered: