Closed
Description
edit: TL;DR: tests.mk and runtest.rs respectively split RUSTFLAGS
and {host,target}_rustcflags
inappropriately; reproduce this in rust upstream (1.8 and earlier) by:
- test.mk bug: set
RUSTFLAGS="-C link-args=\"-Wl,-Bsymbolic-functions -Wl,-z,relro\""
when building tests - runtest.rs bug: set
RUSTFLAGS="-C link-args='-Wl,-Bsymbolic-functions -Wl,-z,relro'"
when running tests.
These are two separate and independent bugs.
Hi, I'm having a hard time debugging a build failure and was wondering if anyone could help. We have multiple identical build failures for Ubuntu across different versions of rustc e.g. see 1.5 on amd64-xenial, 1.8-nightly-20160209 on i386-xenial, 1.8-nightly-20160209 on amd64-xenial. The packages are based on the working Debian packages.
The failure looks related to the command line being run; however they are very similar on Debian and Ubuntu (newlines manually inserted for clarity):
--- debian (from my local testing)
+++ ubuntu (from the 1.8 amd64-xenial link above)
@@ -1,41 +1,41 @@
LD_LIBRARY_PATH=
/«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/x86_64-unknown-linux-gnu/stage2/lib:
/usr/lib/llvm-3.7/lib:
$LD_LIBRARY_PATH
x86_64-unknown-linux-gnu/stage2/bin/compiletest
--compile-lib-path x86_64-unknown-linux-gnu/stage2/lib
--run-lib-path x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib
--rustc-path x86_64-unknown-linux-gnu/stage2/bin/rustc
--rustdoc-path x86_64-unknown-linux-gnu/stage2/bin/rustdoc
--llvm-bin-path /usr/lib/llvm-3.7/bin
--aux-base /«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/src/test/auxiliary/
--stage-id stage2-x86_64-unknown-linux-gnu
--target x86_64-unknown-linux-gnu
--host x86_64-unknown-linux-gnu
--python "/usr/bin/python2.7"
- --gdb-version="GNU gdb (Debian 7.10-1+b1) 7.10"
+ --gdb-version="GNU gdb (Ubuntu 7.10.1-0ubuntu1) 7.10.1"
--lldb-version=""
--android-cross-path=/opt/ndk_standalone
--adb-path=
--adb-test-dir=
- --host-rustcflags " -C link-args="-Wl,-z,relro" --cfg rtopt -C rpath -O -L x86_64-unknown-linux-gnu/rt"
+ --host-rustcflags " -C link-args="-Wl,-Bsymbolic-functions -Wl,-z,relro" --cfg rtopt -C rpath -O -L x86_64-unknown-linux-gnu/rt"
--lldb-python-dir=
- --target-rustcflags " -C link-args="-Wl,-z,relro" --cfg rtopt -C rpath -O -L x86_64-unknown-linux-gnu/rt"
+ --target-rustcflags " -C link-args="-Wl,-Bsymbolic-functions -Wl,-z,relro" --cfg rtopt -C rpath -O -L x86_64-unknown-linux-gnu/rt"
--verbose
--valgrind-path ""/usr/bin/valgrind"
--error-exitcode=100
--fair-sched=try
--quiet
--soname-synonyms=somalloc=NONE
--suppressions=/«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/src/etc/x86.supp
--tool=memcheck
--leak-check=full"
--force-valgrind
--src-base /«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/src/test/rustdoc/
--build-base x86_64-unknown-linux-gnu/test/rustdoc/
--mode rustdoc
--logfile tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustdocck.log &&
touch -r
tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustdocck.ok.start_time
tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustdocck.ok &&
rm tmp/check-stage2-T-x86_64-unknown-linux-gnu-H-x86_64-unknown-linux-gnu-rustdocck.ok.start_time
The failure on Ubuntu looks like this:
run rustdocck [i686-unknown-linux-gnu]: i686-unknown-linux-gnu/stage2/bin/compiletest
thread '<main>' panicked at 'UnrecognizedOption("W")', /«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/src/compiletest/compiletest.rs:101
stack backtrace:
1: 0xf737b154 - sys::backtrace::tracing::imp::write::h59a57150de078a41Btu
2: 0xf7383891 - panicking::default_handler::_$u7b$$u7b$closure$u7d$$u7d$::closure.43171
3: 0xf7383412 - panicking::default_handler::he7b491197c6c99803Wy
4: 0xf7347e85 - sys_common::unwind::begin_unwind_inner::h0ac7a886eb1f5e41qit
5: 0xf7348937 - sys_common::unwind::begin_unwind_fmt::h5539aae7d4657c99wht
6: 0xf76e23cd - parse_config::hd63e903e447ce232uCd
7: 0xf76da65c - main::hcc56979a8470e836GBd
8: 0xf7382e8a - sys_common::unwind::try::try_fn::h1480467219455099781
9: 0xf7378a57 - __rust_try
10: 0xf7382b5c - rt::lang_start::hb58bd81a27354c059Oy
11: 0xf76e635d - main
12: 0xf710271d - __libc_start_main
13: 0xf76d9d10 - <unknown>
/«BUILDDIR»/rustc-1.8.0~~nightly.20160209+dfsg1/mk/tests.mk:743: recipe for target 'tmp/check-stage2-T-i686-unknown-linux-gnu-H-i686-unknown-linux-gnu-rustdocck.ok' failed
make[2]: *** [tmp/check-stage2-T-i686-unknown-linux-gnu-H-i686-unknown-linux-gnu-rustdocck.ok] Error 101
Metadata
Metadata
Assignees
Labels
No labels