Closed
Description
The build fails soon after start with a log like this:
we@WIN-GQ6AS7OLS34 MINGW64 ~/rust
$ ./x t -j1
Building bootstrap
Finished `dev` profile [unoptimized] target(s) in 0.05s
Building stage0 tool tidy (x86_64-pc-windows-gnu)
Compiling serde_derive v1.0.217
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,C:\\msys64\\tmp\\rustcIGBlzu\\list.def" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m64" "-Wl,--high-entropy-va" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "C:\\msys64\\tmp\\rustcIGBlzu\\symbols
.o" "<16 object files omitted>" "<sysroot>-bootstrap-tools\\release\\deps\\serde_derive-289e03abbb61a8ac.7h71bf3kbtp6y7yvtao8biynu.rcgu.rmeta" "<1 object files omitted>" "-Wl,-Bstatic" "C:\\msys64\\home\\we\\rust\\build\\x86_64-pc-windows-gnu\\stage0-bootstrap-tools\\rel
ease\\deps/{libsyn-c238c3c558a6e659.rlib,libquote-9a71ca2559253843.rlib,libproc_macro2-eff81bcdd40c9193.rlib,libunicode_ident-203f2b90658d2aa5.rlib}.rlib" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib/{libproc_macro-*,libstd-*,libpanic_unwind-*,libobject-*,libmemc
hr-*,libaddr2line-*,libgimli-*,libwindows_targets-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,liballoc-*,librustc_std_workspace_core-*,libcore-*,libcompiler_builtins-*}
.rlib" "-Wl,-Bdynamic" "-lkernel32" "-lkernel32" "-ladvapi32" "-lntdll" "-luserenv" "-lws2_32" "-ldbghelp" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-lmingwex" "-luser32" "-lkernel32" "-fuse-ld=lld" "-Wl,--nxcompat" "-o" "<sysroo
t>-bootstrap-tools\\release\\deps\\serde_derive-289e03abbb61a8ac.dll" "-Wl,--gc-sections" "-shared" "-Wl,--out-implib=<sysroot>-bootstrap-tools\\release\\deps\\libserde_derive-289e03abbb61a8ac.dll.a" "-nodefaultlibs" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\
rsend.o"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0librustlibx86_64-pc-windows-gnulibrsbegin.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64tmprustcIGBlzusymbols.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.00.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.01.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.02.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.03.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.04.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.05.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.06.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.07.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.08.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.09.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.10.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.11.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.12.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.13.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.14.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.serde_derive.aa02f1374bc7d472-cgu.15.rcgu.o': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.7h71bf3kbtp6y7yvtao8biynu.rcgu.rmeta': No such file or directory␍
ld.lld: error: could not open 'C:msys64homewerustbuildx86_64-pc-windows-gnustage0-bootstrap-toolsreleasedepsserde_derive-289e03abbb61a8ac.0g3fdgiuvv97ejvcm8q5w0d3b.rcgu.o': No such file or directory␍
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)␍
collect2.exe: error: ld returned 1 exit status
error: could not compile `serde_derive` (lib) due to 1 previous error
Build completed unsuccessfully in 0:00:03
LLD cannot link correctly because the paths to object files that it sees are corrupted.
Removing [rust] use-lld = true
from config.toml
switches the linker to gnu and fixes the issue.
This is a relatively recent regression (maybe in Rust, maybe in LLD package shipped by MSYS2), things worked ok 3-4 months ago.