-
Notifications
You must be signed in to change notification settings - Fork 13.3k
rustllvm: Update to LLVM trunk #29272
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
Conversation
(rust_highfive has picked a reviewer for you, use r? to override) |
Tested with LLVM trunk, which is at r251181 now. First, r247309 causes Rust bootstrap to fail. (r247352 is a followup warning fix.) Revert the patch to test.
Second, |
tl;dr: Testing with system llvm (so, not the llvm that comes with rust) $ llc --version
LLVM (http://llvm.org/):
LLVM version 3.7.0
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: (unknown)
Registered Targets:
amdgcn - AMD GCN GPUs
cpp - C++ backend
r600 - AMD GPUs HD2XXX-HD6XXX
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
$ cd /home/zazdxscf/build/1nonpkgs/rust/
$ wget https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/29272.patch
$ cd rust/
$ git clean -dfx
...
$ git reset --hard
$ git pull
$ patch -Np1 -i ../llvm_only_x86_64.patch
$ patch -Np1 -i ../29272.patch
$ ./configure --prefix=/home/zazdxscf/build/1nonpkgs/rust/usr/local --enable-rpath --enable-manage-submodules --disable-clang --enable-ccache --enable-dist-host-only --disable-valgrind --disable-helgrind --disable-valgrind-rpass --python=/usr/bin/python2 --enable-optimize --enable-optimize-cxx --enable-optimize-llvm --enable-debug --enable-debuginfo --enable-debug-assertions --enable-debuginfo-tests --enable-llvm-assertions --enable-debug-jemalloc --disable-local-rust --llvm-root=/usr --release-channel=dev --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
... That ...
configure: git: submodule init
configure: git: submodule deinit src/llvm
Cleared directory 'src/llvm'
Submodule 'src/llvm' (https://github.com/rust-lang/llvm.git) unregistered for path 'src/llvm'
...
configure: looking at LLVM
configure:
configure: not reconfiguring LLVM, external LLVM root
configure: found program '/usr/bin/FileCheck'
configure:
configure: writing configuration
configure:
configure: CFG_SRC_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_SRC_DIR_RELATIVE := ./
configure: CFG_BUILD_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_OSTYPE := unknown-linux-gnu
configure: CFG_CPUTYPE := x86_64
configure: CFG_CONFIGURE_ARGS := --prefix=/home/zazdxscf/build/1nonp ...
configure: CFG_PREFIX := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_HOST := x86_64-unknown-linux-gnu
configure: CFG_TARGET := x86_64-unknown-linux-gnu
configure: CFG_LIBDIR_RELATIVE := lib
configure: CFG_DISABLE_MANAGE_SUBMODULES :=
configure: CFG_AARCH64_LINUX_ANDROID_NDK :=
configure: CFG_ARM_LINUX_ANDROIDEABI_NDK :=
configure: CFG_I686_LINUX_ANDROID_NDK :=
configure: CFG_MANDIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_CCACHE_BASEDIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_LLVM_SRC_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_LLVM_BUILD_DIR_x86_64_unknown_linux_gnu :=
configure: CFG_LLVM_INST_DIR_x86_64_unknown_linux_gnu := /usr
configure:
configure: cp -f /home/zazdxscf/build/1nonpkgs/rust/rust/Makefile.in ./Makefile
configure: mv -f config.tmp config.mk
configure:
configure: complete
... $ time RUST_LOG=rustc::metadata::loader make -j4 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
cfg: version 1.5.0-dev (04e497c00 2015-10-24)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: enabling debug assertions (CFG_ENABLE_DEBUG_ASSERTIONS)
cfg: enabling debuginfo (CFG_ENABLE_DEBUGINFO)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
...
time: 0.069; rss: 112MB variance inference
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp: In function 'LLVMOpaqueValue* LLVMRustBuildLandingPad(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, unsigned int, const char*, LLVMValueRef)':
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: invalid conversion from 'LLVMValueRef {aka LLVMOpaqueValue*}' to 'unsigned int' [-fpermissive]
return LLVMBuildLandingPad(Builder, Ty, PersFn, NumClauses, Name);
^
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: too many arguments to function 'LLVMOpaqueValue* LLVMBuildLandingPad(LLVMBuilderRef, LLVMTypeRef, unsigned int, const char*)'
In file included from /usr/include/llvm/IR/Value.h:17:0,
from /usr/include/llvm/IR/User.h:24,
from /usr/include/llvm/IR/Instruction.h:22,
from /usr/include/llvm/IR/BasicBlock.h:19,
from /usr/include/llvm/IR/IRBuilder.h:21,
from /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/rustllvm.h:11,
from /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:11:
/usr/include/llvm-c/Core.h:2677:14: note: declared here
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
^
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/rustllvm.mk:60: recipe for target 'x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o' failed
make: *** [x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o] Error 1
make: *** Waiting for unfinished jobs....
...
//something error-ed, rerunning with -j1 so to ensure output isn't garbled $ time RUST_LOG=rustc::metadata::loader make -j1 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
... //ok it's taking too long to reach that error with -j1 so I C-c it mainly because I'm also compiling latest llvm and it will auto-install while rustc compiles, so I'm trying to prevent that... $ time RUST_LOG=rustc::metadata::loader make -j4 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
...
INFO:rustc::metadata::loader: reading "liblog-bb94g++ -O2 -Wall -Werror -g -fPIC -m64 -fno-rtti -c -o x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o -I//usr//include -O2 -pipe -march=native -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -fPIC -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wnon-virtual-dtor -Wno-comment -Werror=date-time -std=c++11 -ffunction-sections -fdata-sections -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I /usr/include -I /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/include /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp
...
time: 0.466; rss: 128MB match checking
time: 0.021; rss: 128MB liveness checking
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp: In function 'LLVMOpaqueValue* LLVMRustBuildLandingPad(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef, unsigned int, const char*, LLVMValueRef)':
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: invalid conversion from 'LLVMValueRef {aka LLVMOpaqueValue*}' to 'unsigned int' [-fpermissive]
return LLVMBuildLandingPad(Builder, Ty, PersFn, NumClauses, Name);
^
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
/home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:972:69: error: too many arguments to function 'LLVMOpaqueValue* LLVMBuildLandingPad(LLVMBuilderRef, LLVMTypeRef, unsigned int, const char*)'
In file included from /usr/include/llvm/IR/Value.h:17:0,
from /usr/include/llvm/IR/User.h:24,
from /usr/include/llvm/IR/Instruction.h:22,
from /usr/include/llvm/IR/BasicBlock.h:19,
from /usr/include/llvm/IR/IRBuilder.h:21,
from /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/rustllvm.h:11,
from /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/RustWrapper.cpp:11:
/usr/include/llvm-c/Core.h:2677:14: note: declared here
LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
^
^Cmake: *** Deleting file 'x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o'
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/rustllvm.mk:60: recipe for target 'x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o' failed
make: *** [x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o] Interrupt
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/target.mk:164: recipe for target 'x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.serialize' failed
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.serialize] Interrupt
Ok it's not gonna work with system's llvm 3.7.0 Time to test with llvm trunk: $ llc --version
LLVM (http://llvm.org/):
LLVM version 3.8.0svn
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: (unknown)
Registered Targets:
amdgcn - AMD GCN GPUs
cpp - C++ backend
r600 - AMD GPUs HD2XXX-HD6XXX
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
$ cd /home/zazdxscf/build/1nonpkgs/rust/
//already have: $ wget https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/29272.patch
$ cd rust/
$ git clean -dfx
...
$ git reset --hard
$ git pull
$ patch -Np1 -i ../llvm_only_x86_64.patch
$ patch -Np1 -i ../29272.patch
$ time ./configure --prefix=/home/zazdxscf/build/1nonpkgs/rust/usr/local --enable-rpath --enable-manage-submodules --disable-clang --enable-ccache --enable-dist-host-only --disable-valgrind --disable-helgrind --disable-valgrind-rpass --python=/usr/bin/python2 --enable-optimize --enable-optimize-cxx --enable-optimize-llvm --enable-debug --enable-debuginfo --enable-debug-assertions --enable-debuginfo-tests --enable-llvm-assertions --enable-debug-jemalloc --disable-local-rust --llvm-root=/usr --release-channel=dev --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
configure: looking for configure programs
configure: found program 'cmp'
configure: found program 'mkdir'
configure: found program 'printf'
configure: found program 'cut'
configure: found program 'head'
configure: found program 'grep'
configure: found program 'xargs'
configure: found program 'cp'
configure: found program 'find'
configure: found program 'uname'
configure: found program 'date'
configure: found program 'tr'
configure: found program 'sed'
configure: found program 'file'
configure: found program 'make'
configure: inspecting environment
configure: recreating config.tmp
configure:
configure: processing ./configure args
configure:
configure: CFG_ENABLE_DEBUG := 1
configure: CFG_DISABLE_VALGRIND_RPASS := 1
configure: CFG_ENABLE_DEBUGINFO_TESTS := 1
configure: CFG_ENABLE_LLVM_ASSERTIONS := 1
configure: CFG_ENABLE_DEBUG_ASSERTIONS := 1
configure: CFG_ENABLE_CCACHE := 1
configure: CFG_ENABLE_RPATH := 1
configure: CFG_ENABLE_DIST_HOST_ONLY := 1
configure: CFG_LOCALSTATEDIR := /var/lib
configure: CFG_SYSCONFDIR := /etc
configure: CFG_DATADIR := /share
configure: CFG_INFODIR := /share/info
configure: CFG_LLVM_ROOT := /usr
configure: CFG_PYTHON := /usr/bin/python2
configure: CFG_JEMALLOC_ROOT :=
configure: CFG_BUILD := x86_64-unknown-linux-gnu
configure: CFG_ANDROID_CROSS_PATH := /opt/ndk_standalone
configure: CFG_I686_LINUX_ANDROID_NDK :=
configure: CFG_ARM_LINUX_ANDROIDEABI_NDK :=
configure: CFG_AARCH64_LINUX_ANDROID_NDK :=
configure: CFG_RELEASE_CHANNEL := dev
configure: CFG_MUSL_ROOT := /usr/local
configure: CFG_DEFAULT_LINKER := cc
configure: CFG_DEFAULT_AR := ar
configure: CFG_BUILD := x86_64-unknown-linux-gnu
configure: CFG_LIBDIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure:
configure: validating ./configure args
configure:
configure: debug mode enabled, setting performance options
configure: CFG_ENABLE_LLVM_ASSERTIONS := 1
configure: CFG_ENABLE_DEBUG_ASSERTIONS := 1
configure: CFG_ENABLE_DEBUGINFO := 1
configure: CFG_ENABLE_DEBUG_JEMALLOC := 1
configure: CFG_BOOTSTRAP_KEY := 19:36:47
configure:
configure: looking for build programs
configure:
configure: CFG_CURLORWGET := /usr/bin/curl (7.45.0)
configure: CFG_GIT := /usr/bin/git (2.6.2)
configure: CFG_MD5 :=
configure: CFG_MD5SUM := /usr/bin/md5sum (8.24)
configure: CFG_HASH_COMMAND := /usr/bin/md5sum | cut -c 1-8
configure: CFG_CLANG :=
configure: CFG_CCACHE := /usr/bin/ccache (3.2.4)
configure: CFG_GCC := /usr/bin/gcc (5.2.0)
configure: CFG_LD := /usr/bin/ld (2.25.1)
configure: CFG_VALGRIND :=
configure: CFG_PERF :=
configure: CFG_ISCC :=
configure: CFG_ANTLR4 :=
configure: CFG_GRUN :=
configure: CFG_FLEX := /usr/bin/flex (2.5.39)
configure: CFG_BISON := /usr/bin/bison (3.0.4)
configure: CFG_GDB := /usr/bin/gdb (7.10)
configure: CFG_LLDB :=
configure: CFG_DISABLE_VALGRIND_RPASS := 1
configure: CFG_GDB_VERSION := GNU gdb (Gentoo 7.10 vanilla) 7.10
configure:
configure: looking for target specific programs
configure:
configure: CFG_ADB :=
configure:
configure: using custom LLVM at /usr
configure:
configure: found ok version of LLVM: 3.8.0svn
configure: CFG_CC := ccache gcc
configure: CFG_STDCPP_NAME := stdc++
configure:
configure: making directories
configure:
configure: mkdir -p doc
configure: mkdir -p doc/std
configure: mkdir -p doc/extra
configure: mkdir -p dl
configure: mkdir -p tmp
configure: mkdir -p dist
configure: mkdir -p x86_64-unknown-linux-gnu/llvm
configure: mkdir -p x86_64-unknown-linux-gnu/rustllvm
configure: mkdir -p x86_64-unknown-linux-gnu/rt
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage0
configure: mkdir -p x86_64-unknown-linux-gnu/rt/jemalloc
configure: mkdir -p x86_64-unknown-linux-gnu/rt/compiler-rt
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage0/isaac
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage0/sync
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage0/test
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage0/arch/x86_64
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage1
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage1/isaac
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage1/sync
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage1/test
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage1/arch/x86_64
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage2
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage2/isaac
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage2/sync
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage2/test
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage2/arch/x86_64
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage3
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage3/isaac
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage3/sync
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage3/test
configure: mkdir -p x86_64-unknown-linux-gnu/rt/stage3/arch/x86_64
configure: mkdir -p x86_64-unknown-linux-gnu/stage0/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage0/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage0/test
configure: mkdir -p x86_64-unknown-linux-gnu/stage1/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage1/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage1/test
configure: mkdir -p x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage1/lib/rustlib/x86_64-unknown-linux-gnu/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage2/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage2/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage2/test
configure: mkdir -p x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage3/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage3/lib
configure: mkdir -p x86_64-unknown-linux-gnu/stage3/test
configure: mkdir -p x86_64-unknown-linux-gnu/stage3/lib/rustlib/x86_64-unknown-linux-gnu/bin
configure: mkdir -p x86_64-unknown-linux-gnu/stage3/lib/rustlib/x86_64-unknown-linux-gnu/lib
configure: mkdir -p x86_64-unknown-linux-gnu/test/run-pass
configure: mkdir -p x86_64-unknown-linux-gnu/test/run-pass-valgrind
configure: mkdir -p x86_64-unknown-linux-gnu/test/run-pass-fulldeps
configure: mkdir -p x86_64-unknown-linux-gnu/test/run-fail
configure: mkdir -p x86_64-unknown-linux-gnu/test/run-fail-fulldeps
configure: mkdir -p x86_64-unknown-linux-gnu/test/compile-fail
configure: mkdir -p x86_64-unknown-linux-gnu/test/parse-fail
configure: mkdir -p x86_64-unknown-linux-gnu/test/compile-fail-fulldeps
configure: mkdir -p x86_64-unknown-linux-gnu/test/bench
configure: mkdir -p x86_64-unknown-linux-gnu/test/perf
configure: mkdir -p x86_64-unknown-linux-gnu/test/pretty
configure: mkdir -p x86_64-unknown-linux-gnu/test/debuginfo-gdb
configure: mkdir -p x86_64-unknown-linux-gnu/test/debuginfo-lldb
configure: mkdir -p x86_64-unknown-linux-gnu/test/codegen
configure: mkdir -p x86_64-unknown-linux-gnu/test/rustdoc
configure:
configure: configuring submodules
configure:
configure: git: submodule sync
Synchronizing submodule url for 'src/compiler-rt'
Synchronizing submodule url for 'src/jemalloc'
Synchronizing submodule url for 'src/rt/hoedown'
Synchronizing submodule url for 'src/rust-installer'
configure: git: submodule init
Submodule 'src/llvm' (https://github.com/rust-lang/llvm.git) registered for path 'src/llvm'
configure: git: submodule deinit src/llvm
Cleared directory 'src/llvm'
Submodule 'src/llvm' (https://github.com/rust-lang/llvm.git) unregistered for path 'src/llvm'
configure: git: submodule update
configure: git: submodule foreach sync
Entering 'src/compiler-rt'
Entering 'src/jemalloc'
Entering 'src/rt/hoedown'
Entering 'src/rust-installer'
configure: git: submodule foreach update
configure: git: submodule status
58ab642c30d9f97735d5745b5d01781ee199c6ae src/compiler-rt (remotes/origin/rust-2015-01-08-do-not-delete)
e24a1a025a1f214e40eedafe3b9c7b1d69937922 src/jemalloc (3.6.0-158-ge24a1a0)
-cde1ed3196ba9b39bcf028e06e08a8722113a5cb src/llvm
4638c60dedfa581fd5fa7c6420d8f32274c9ca0b src/rt/hoedown (2.0.0-209-g4638c60)
c37d3747da75c280237dc2d6b925078e69555499 src/rust-installer (remotes/origin/next-27-gc37d374)
-aed73472416064642911af790b25d57c9390b6c7 src/rust-installer/test/rust-installer-v1
-e577c97b494be2815b215e3042207d6d4b7c5516 src/rust-installer/test/rust-installer-v2
configure: git: submodule clobber
Entering 'src/compiler-rt'
Entering 'src/jemalloc'
Removing VERSION
Entering 'src/rt/hoedown'
Entering 'src/rust-installer'
Entering 'src/compiler-rt'
Entering 'src/jemalloc'
Entering 'src/rt/hoedown'
Entering 'src/rust-installer'
configure:
configure: looking at LLVM
configure:
configure: not reconfiguring LLVM, external LLVM root
configure: found program '/usr/bin/FileCheck'
configure:
configure: writing configuration
configure:
configure: CFG_SRC_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_SRC_DIR_RELATIVE := ./
configure: CFG_BUILD_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_OSTYPE := unknown-linux-gnu
configure: CFG_CPUTYPE := x86_64
configure: CFG_CONFIGURE_ARGS := --prefix=/home/zazdxscf/build/1nonp ...
configure: CFG_PREFIX := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_HOST := x86_64-unknown-linux-gnu
configure: CFG_TARGET := x86_64-unknown-linux-gnu
configure: CFG_LIBDIR_RELATIVE := lib
configure: CFG_DISABLE_MANAGE_SUBMODULES :=
configure: CFG_AARCH64_LINUX_ANDROID_NDK :=
configure: CFG_ARM_LINUX_ANDROIDEABI_NDK :=
configure: CFG_I686_LINUX_ANDROID_NDK :=
configure: CFG_MANDIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_CCACHE_BASEDIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_LLVM_SRC_DIR := /home/zazdxscf/build/1nonpkgs/rust/ ...
configure: CFG_LLVM_BUILD_DIR_x86_64_unknown_linux_gnu :=
configure: CFG_LLVM_INST_DIR_x86_64_unknown_linux_gnu := /usr
configure:
configure: cp -f /home/zazdxscf/build/1nonpkgs/rust/rust/Makefile.in ./Makefile
configure: mv -f config.tmp config.mk
configure:
configure: complete
configure:
configure: run `make help`
configure:
real 0m14.570s
user 0m2.663s
sys 0m9.207s $ time RUST_LOG=rustc::metadata::loader make -j4 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
cfg: version 1.5.0-dev (04e497c00 2015-10-24)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: enabling debug assertions (CFG_ENABLE_DEBUG_ASSERTIONS)
cfg: enabling debuginfo (CFG_ENABLE_DEBUGINFO)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
/usr/bin/python2 /home/zazdxscf/build/1nonpkgs/rust/rust/src/etc/get-snapshot.py x86_64-unknown-linux-gnu
...
Pass Configuration
0.5533 (100.0%) 0.0533 (100.0%) 0.6067 (100.0%) 0.9971 (100.0%) Total
time: 1.441; rss: 84MB LLVM passes
"cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-Wl,-rpath,$ORIGIN/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "compiler-rt"
MATCHES=""; if [ -n "$MATCHES" ] ; then echo "warning: removing previous" \'libterm-*.so\' "libraries:" $MATCHES; rm $MATCHES ; fi
MATCHES=""; if [ -n "$MATCHES" ] ; then echo "warning: removing previous" \'libterm-*.rlib\' "libraries:" $MATCHES; rm $MATCHES ; fi
CFG_LLVM_LINKAGE_FILE=/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/rt/llvmdeps.rs LD_LIBRARY_PATH=/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib:$LD_LIBRARY_PATH x86_64-unknown-linux-gnu/stage0/bin/rustc --cfg stage0 --verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y -O --cfg rtopt -C debug-assertions=on -Z time-passes -Z time-llvm-passes -C rpath -C prefer-dynamic -C no-stack-check --target=x86_64-unknown-linux-gnu -W warnings -L "x86_64-unknown-linux-gnu/rt" -L native="/usr/lib64" --out-dir x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib -C extra-filename=-bb943c5a src/libterm/lib.rs
time: 0.157; rss: 84MB running linker
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-Wl,-rpath,$ORIGIN/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "compiler-rt"
note: /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInterpreter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCJIT
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMExecutionEngine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMRuntimeDyld
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMLinker
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMipo
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMVectorize
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMProfileData
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Disassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86CodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSelectionDAG
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTarget
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMScalarOpts
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstCombine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstrumentation
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTransformUtils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitWriter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAnalysis
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Desc
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMObject
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitReader
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCDisassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Info
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMC
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Utils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCore
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSupport
collect2: error: ld returned 1 exit status
error: aborting due to previous error
time: 0.038; rss: 25MB parsing
MATCHES=""; if [ -n "$MATCHES" ] ; then echo "warning: removing previous" \'libserialize-*.so\' "libraries:" $MATCHES; rm $MATCHES ; fi
time: 0.024; rss: 25MB configuration 1
time: 0.000; rss: 25MB recursion limit
...
real 3m3.496s
user 3m30.417s
sys 0m32.523s
//something failed after 3 mins(I tried to paste above), rerunning with -j1 to get contigous output $ time RUST_LOG=rustc::metadata::loader make -j1 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
cfg: version 1.5.0-dev (04e497c00 2015-10-24)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: enabling debug assertions (CFG_ENABLE_DEBUG_ASSERTIONS)
cfg: enabling debuginfo (CFG_ENABLE_DEBUGINFO)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
...
"cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-Wl,-rpath,$ORIGIN/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "compiler-rt"
time: 0.106; rss: 84MB running linker
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-Wl,-rpath,$ORIGIN/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "compiler-rt"
note: /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInterpreter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCJIT
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMExecutionEngine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMRuntimeDyld
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMLinker
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMipo
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMVectorize
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMProfileData
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Disassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86CodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSelectionDAG
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTarget
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMScalarOpts
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstCombine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstrumentation
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTransformUtils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitWriter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAnalysis
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Desc
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMObject
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitReader
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCDisassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Info
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMC
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Utils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCore
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSupport
collect2: error: ld returned 1 exit status
error: aborting due to previous error
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/target.mk:164: recipe for target 'x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_llvm' failed
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_llvm] Error 101
real 6m30.758s
user 6m12.400s
sys 0m14.680s
I'm going to reverse this, just in case: $ patch -R -p1 -i ../llvm_only_x86_64.patch
patching file configure
Hunk #1 succeeded at 1359 (offset 1 line).
Hunk #2 succeeded at 1586 (offset 1 line).
patching file mk/main.mk
patching file mk/llvm.mk
patching file src/librustc_llvm/lib.rs
patching file src/librustc_trans/back/write.rs //actually this reruns configure when I do make, so I might as well do it from the beginning! $ llc --version
LLVM (http://llvm.org/):
LLVM version 3.8.0svn
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: (unknown)
Registered Targets:
amdgcn - AMD GCN GPUs
cpp - C++ backend
r600 - AMD GPUs HD2XXX-HD6XXX
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
$ cd /home/zazdxscf/build/1nonpkgs/rust/
//already have: $ wget https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/29272.patch
$ cd rust/
$ git clean -dfx
...
$ git reset --hard
$ git pull
$ patch -Np1 -i ../29272.patch
$ ./configure --prefix=/home/zazdxscf/build/1nonpkgs/rust/usr/local --enable-rpath --enable-manage-submodules --disable-clang --enable-ccache --enable-dist-host-only --disable-valgrind --disable-helgrind --disable-valgrind-rpass --python=/usr/bin/python2 --enable-optimize --enable-optimize-cxx --enable-optimize-llvm --enable-debug --enable-debuginfo --enable-debug-assertions --enable-debuginfo-tests --enable-llvm-assertions --enable-debug-jemalloc --disable-local-rust --llvm-root=/usr --release-channel=dev --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
...
$ time RUST_LOG=rustc::metadata::loader make -j1 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes -C debug-assertions=y' RUST_BACKTRACE=1
cfg: version 1.5.0-dev (04e497c00 2015-10-24)
cfg: build triple x86_64-unknown-linux-gnu
cfg: host triples x86_64-unknown-linux-gnu
cfg: target triples x86_64-unknown-linux-gnu
cfg: enabling debug assertions (CFG_ENABLE_DEBUG_ASSERTIONS)
cfg: enabling debuginfo (CFG_ENABLE_DEBUGINFO)
cfg: host for x86_64-unknown-linux-gnu is x86_64
cfg: os for x86_64-unknown-linux-gnu is unknown-linux-gnu
cfg: good valgrind for x86_64-unknown-linux-gnu is 1
cfg: using CC=ccache gcc (CFG_CC)
cfg: disabling valgrind run-pass tests
/usr/bin/python2 /home/zazdxscf/build/1nonpkgs/rust/rust/src/etc/get-snapshot.py x86_64-unknown-linux-gnu
determined most recent snapshot: rust-stage0-2015-08-11-1af31d4-linux-x86_64-7df8ba9dec63ec77b857066109d4b6250f3d222f.tar.bz2
...
g++ -O2 -Wall -Werror -g -fPIC -m64 -fno-rtti -c -o x86_64-unknown-linux-gnu/rustllvm/ArchiveWrapper.o -I//usr//include -O2 -pipe -march=native -ggdb -fvar-tracking-assignments -fno-omit-frame-pointer -ftrack-macro-expansion=2 -fstack-protector-all -fPIC -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wnon-virtual-dtor -Wno-comment -Werror=date-time -std=c++11 -ffunction-sections -fdata-sections -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I /usr/include -I /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/include /home/zazdxscf/build/1nonpkgs/rust/rust/src/rustllvm/ArchiveWrapper.cpp
ar crus x86_64-unknown-linux-gnu/rt/librustllvm.a x86_64-unknown-linux-gnu/rustllvm/ExecutionEngineWrapper.o x86_64-unknown-linux-gnu/rustllvm/RustWrapper.o x86_64-unknown-linux-gnu/rustllvm/PassWrapper.o x86_64-unknown-linux-gnu/rustllvm/ArchiveWrapper.o
/usr/bin/python2 "/home/zazdxscf/build/1nonpkgs/rust/rust/src/etc/mklldeps.py" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/rt/llvmdeps.rs" "x86 arm aarch64 mips powerpc ipo bitreader bitwriter linker asmparser mcjit interpreter instrumentation" "" /usr/bin/llvm-config "stdc++"
failed to run llvm_config: args = `['/usr/bin/llvm-config', '--libs', '--system-libs', 'x86', 'arm', 'aarch64', 'mips', 'powerpc', 'ipo', 'bitreader', 'bitwriter', 'linker', 'asmparser', 'mcjit', 'interpreter', 'instrumentation']`
llvm-config: unknown component name: arm
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/llvm.mk:89: recipe for target '/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/rt/llvmdeps.rs' failed
make: *** [/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/rt/llvmdeps.rs] Error 1
real 10m35.573s
user 9m29.297s
sys 0m45.763s I forgot why this is happening... but this is why I needed my The latest commit of my installed system llvm is llvm-mirror/llvm@3f3f65a (it doesn't deal with svn on gentoo, which is what I'm using) Sorry, I did not understand #29272 (comment) Oh wait, is EDIT: 247309 is this: llvm-mirror/llvm@5d8f37f |
I try a simple test (least ./configure args) -- same linking error. My system's llvm commit is at: llvm-mirror/llvm@3f3f65a $ llc --version
LLVM (http://llvm.org/):
LLVM version 3.8.0svn
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: (unknown)
Registered Targets:
amdgcn - AMD GCN GPUs
cpp - C++ backend
r600 - AMD GPUs HD2XXX-HD6XXX
x86 - 32-bit X86: Pentium-Pro and above
x86-64 - 64-bit X86: EM64T and AMD64
$ cd /home/zazdxscf/build/1nonpkgs/rust/
//already have: $ wget https://patch-diff.githubusercontent.com/raw/rust-lang/rust/pull/29272.patch
$ cd rust/
$ git clean -dfx
$ git reset --hard
$ git pull
$ patch -Np1 -i ../llvm_only_x86_64.patch
$ patch -Np1 -i ../29272.patch
$ ./configure --llvm-root=/usr --enable-ccache --host=x86_64-unknown-linux-gnu --target=x86_64-unknown-linux-gnu --build=x86_64-unknown-linux-gnu
...
$ time RUST_LOG=rustc::metadata::loader make -j1 -- VERBOSE=1 TIME_PASSES=1 TIME_LLVM_PASSES=1 'RUSTFLAGS=--verbose -Z print-link-args -Z print-llvm-passes' RUST_BACKTRACE=1
... ...
"cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-l" "compiler-rt"
time: 0.154; rss: 83MB running linker
error: linking with `cc` failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/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/rustc_llvm-bb943c5a.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_llvm-bb943c5a.so" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/rustc_llvm-bb943c5a.metadata.o" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-bb943c5a" "-L" "x86_64-unknown-linux-gnu/rt" "-L" "/usr/lib64" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/.rust/lib/x86_64-unknown-linux-gnu" "-L" "/home/zazdxscf/build/1nonpkgs/rust/rust/lib/x86_64-unknown-linux-gnu" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l" "rustllvm" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInterpreter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCJIT" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMExecutionEngine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMRuntimeDyld" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMLinker" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMipo" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMVectorize" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMProfileData" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Disassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86CodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSelectionDAG" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCodeGen" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTarget" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMScalarOpts" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstCombine" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMInstrumentation" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMTransformUtils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitWriter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMAnalysis" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Desc" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMObject" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCParser" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMBitReader" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMCDisassembler" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Info" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86AsmPrinter" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMMC" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMX86Utils" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMCore" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "-l" "LLVMSupport" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-l" "rt" "-l" "dl" "-l" "curses" "-l" "pthread" "-l" "z" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "rt" "-l" "c" "-l" "m" "-shared" "-l" "compiler-rt"
note: /usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInterpreter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCJIT
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMExecutionEngine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMRuntimeDyld
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMLinker
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMipo
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMVectorize
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMProfileData
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Disassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86CodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSelectionDAG
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCodeGen
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTarget
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMScalarOpts
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstCombine
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMInstrumentation
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMTransformUtils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitWriter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMAnalysis
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Desc
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMObject
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCParser
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMBitReader
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMCDisassembler
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Info
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86AsmPrinter
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMMC
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMX86Utils
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMCore
/usr/lib/gcc/x86_64-pc-linux-gnu/5.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lLLVMSupport
collect2: error: ld returned 1 exit status
error: aborting due to previous error
/home/zazdxscf/build/1nonpkgs/rust/rust/mk/target.mk:164: recipe for target 'x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_llvm' failed
make: *** [x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/stamp.rustc_llvm] Error 101
real 11m48.389s
user 10m31.627s
sys 1m7.457s
|
Thanks @sanxiyn! I've actually also been trying to upgrade LLVM to see if we can start using the new SEH instructions support for MSVC 32-bit, and the reason we can't bootstrap is actually quite familiar as the fix is the same as a previous commit basically. For now though seems fine to upgrade our C++ support! |
@zazdxscf The linking failures are the issue discussed in #28327 and at https://internals.rust-lang.org/t/meaning-of-link-kinds/2686. Edit: And the 3.7.0 compile failure is #28830. |
Thanks so much @wthrowe ! |
cc @zazdxscf