Description
Fedora x86_64 builds install libraries to /usr/lib64 so that 32-bit and 64-bit libraries can coexist on the same system. However, with configure --prefix=/usr --libdir=/usr/lib64 && make
, the build breaks:
...
rustc: x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore
rustc: x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc
/home/builder/rust/src/liblibc/lib.rs:81:38: 81:56 error: can't find crate for `core`
/home/builder/rust/src/liblibc/lib.rs:81 #[cfg(not(feature = "cargo-build"))] extern crate core;
^~~~~~~~~~~~~~~~~~
error: aborting due to previous error
/home/builder/rust/mk/target.mk:162: recipe for target 'x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.libc' failed
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.libc] Error 101
It appears that libraries are getting generated at stage0/lib but the build is (maybe?) looking for them at stage0/lib64. The results of find x86_64-unknown-linux-gnu/stage0
:
x86_64-unknown-linux-gnu/stage0
x86_64-unknown-linux-gnu/stage0/bin
x86_64-unknown-linux-gnu/stage0/bin/rustc
x86_64-unknown-linux-gnu/stage0/lib64
x86_64-unknown-linux-gnu/stage0/lib64/rustlib
x86_64-unknown-linux-gnu/stage0/lib64/rustlib/x86_64-unknown-linux-gnu
x86_64-unknown-linux-gnu/stage0/lib64/rustlib/x86_64-unknown-linux-gnu/bin
x86_64-unknown-linux-gnu/stage0/lib64/rustlib/x86_64-unknown-linux-gnu/lib
x86_64-unknown-linux-gnu/stage0/test
x86_64-unknown-linux-gnu/stage0/lib
x86_64-unknown-linux-gnu/stage0/lib/rustlib
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.libc.start_time
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-e9599659.rlib
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler-rt.a
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmorestack.a
x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.core
I can only assume the same problem will probably propagate through later stages.
This is from doing a bootstrap build of the 1.1.0 tag (i.e., commit 35ceea3) in rust git, but I've also tried bootstrapping using commit 320bd6f and gotten the same results.
I've tried hunting down hard-coded "lib" and replacing it with $CFG_LIBDIR_RELATIVE. However, that did not resolve the problem, so perhaps something else is going on.
Possibly related: #11671, #22831, #16552
Output of ./x86_64-unknown-linux-gnu/stage0/bin/rustc --version --verbose
:
rustc 1.1.0-dev (857ef6e27 2015-04-27) (built 2015-04-27)
binary: rustc
commit-hash: 857ef6e272e5634cb9f3e6ee50eb6bc2a2e71651
commit-date: 2015-04-27
build-date: 2015-04-27
host: x86_64-unknown-linux-gnu
release: 1.1.0-dev