Can't compile on Linux (Fedora 25) 4.8.13-300.fc25.i686
Created by: escapedsalmon
Reproduction: Downloaded and installed all requirements (through the bootstrap and manually) and then tried to compile using "make all".
Expected behavior: Obviously should compile and output something, so that starting it through "make qemu" should be possible. Or at least, that's what I had expected it to do.
Actual behavior: Runs for about 1 or 2 minutes, then shows a warning
warning: ignoring --out-dir flag due to -o flag.
Then continues for some secs, until it hits error:
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-m64" "-nostdlib" "-static" "-L" "/home/username/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/x86_64-unknown-redox/lib" "initfs/bin/init.0.o" "-o" "initfs/bin/init" "-Wl,--gc-sections" "-nodefaultlibs" "-L" "build/userspace" "-L" "/home/username/Downloads/redox/programs/init/target/x86_64-unknown-redox/release/deps" "-L" "/home/username/Downloads/redox/programs/init/target/release/deps" "-L" "/home/username/.rustup/toolchains/nightly-i686-unknown-linux-gnu/lib/rustlib/x86_64-unknown-redox/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "/home/username/Downloads/redox/build/userspace/libstd.rlib" "/home/username/Downloads/redox/build/userspace/libunwind-554823cf2b75345e.rlib" "/home/username/Downloads/redox/build/userspace/librand.rlib" "/home/username/Downloads/redox/build/userspace/libcompiler_builtins-14b02784a4eb3f28.rlib" "/home/username/Downloads/redox/build/userspace/libpanic_abort-e2b197be2b8d7d41.rlib" "/home/username/Downloads/redox/build/userspace/liblibc-2305d427572fb523.rlib" "/home/username/Downloads/redox/build/userspace/libcollections.rlib" "/home/username/Downloads/redox/build/userspace/liballoc.rlib" "/home/username/Downloads/redox/build/userspace/libspin-d078472fae6f9ae1.rlib" "/home/username/Downloads/redox/build/userspace/libralloc-620a0c00f50ce5b3.rlib" "/home/username/Downloads/redox/build/userspace/libralloc_shim-feecf8126063bd4f.rlib" "/home/username/Downloads/redox/build/userspace/libsyscall-1262d2aba996b1bb.rlib" "/home/username/Downloads/redox/build/userspace/libstd_unicode.rlib" "/home/username/Downloads/redox/build/userspace/libsyscall-ea23a5b88c3410fc.rlib" "/home/username/Downloads/redox/build/userspace/libcore.rlib" "build/userspace/libopenlibm.a"
= note: /usr/bin/ld: i386:x86-64 architecture of input file `initfs/bin/init.0.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libstd.rlib(libstd.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/librand.rlib(librand.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libcompiler_builtins-14b02784a4eb3f28.rlib(compiler_builtins-14b02784a4eb3f28.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libpanic_abort-e2b197be2b8d7d41.rlib(panic_abort-e2b197be2b8d7d41.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/liblibc-2305d427572fb523.rlib(libc-2305d427572fb523.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libcollections.rlib(libcollections.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/liballoc.rlib(liballoc.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libralloc-620a0c00f50ce5b3.rlib(ralloc-620a0c00f50ce5b3.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libralloc_shim-feecf8126063bd4f.rlib(ralloc_shim-feecf8126063bd4f.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libsyscall-1262d2aba996b1bb.rlib(syscall-1262d2aba996b1bb.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libstd_unicode.rlib(libstd_unicode.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libsyscall-ea23a5b88c3410fc.rlib(syscall-ea23a5b88c3410fc.0.o)' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/home/username/Downloads/redox/build/userspace/libcore.rlib(libcore.0.o)' is incompatible with i386 output
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: Could not compile `init`.
Build information: [output of rustc -V
, git rev-parse HEAD
, qemu-i386 -version
, uname -a
, etc.]
rustc 1.15.0-nightly (daf8c1dfc 2016-12-05)
9a638ce4201051995b9d046dd2907d08fbd19e3d
qemu-i386 version 2.7.0(qemu-2.7.0-7.fc25), Copyright (c) 2003-2016 Fabrice Bellard and the QEMU Project developers
Linux localhost.escaped 4.8.13-300.fc25.i686 #1 SMP Fri Dec 9 15:29:20 UTC 2016 i686 i686 i386 GNU/Linux
Misc: So not quite sure if I am doing something wrong or if it just fails.. well, just because it does? Seems to me like an error related to x86_64 as I am currently running an 32bit (i386) kernel. But is trying to compile against some x86_64 stuff? But trying to change some settings in the makefile on $ARCH didn't bring any success.