Building an API server for one of my projects (https://github.com/brdgme/api) seems to be failing with thinlto:
> cargo clean ;and cargo +nightly build
...
Finished dev [unoptimized + debuginfo] target(s) in 97.5 secs
> cargo clean ;and cargo +nightly build --release
...
Finished release [optimized] target(s) in 321.62 secs
> cargo clean ;and env RUSTFLAGS='-C codegen-units=16 -Z thinlto' cargo +nightly build --release
...
error: linking with `cc` failed: exit code: 1
|
= note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/mi[60/1160]
pment/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen0-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/ro
cket_codegen-5a77027a60795a43.rocket_codegen1-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_co
degen10-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen11-a62b4e5b08a5a21d50ac25607c1bcb
a3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen12-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Developm
ent/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen13-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/roc
ket_codegen-5a77027a60795a43.rocket_codegen14-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_co
degen15-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen2-a62b4e5b08a5a21d50ac25607c1bcba
3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen3-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Developmen
t/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen4-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket
_codegen-5a77027a60795a43.rocket_codegen5-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codege
n6-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen7-a62b4e5b08a5a21d50ac25607c1bcba3.rs.
rust-cgu.o" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen8-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "/home/mick/Development/brd
gme/api/target/release/deps/rocket_codegen-5a77027a60795a43.rocket_codegen9-a62b4e5b08a5a21d50ac25607c1bcba3.rs.rust-cgu.o" "-o" "/home/mick/Development/brdgme/api/target/release/deps/libroc
ket_codegen-5a77027a60795a43.so" "/home/mick/Development/brdgme/api/target/release/deps/rocket_codegen-5a77027a60795a43.crate.metadata.rust-cgu.o" "/home/mick/Development/brdgme/api/target/r
elease/deps/rocket_codegen-5a77027a60795a43.crate.allocator.rust-cgu.o" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-L" "/home/mick/Development/brdgme/api/target/release/deps" "-L" "/h
ome/mick/Development/brdgme/api/target/release/build/ring-7bb6aa5547ba76b4/out" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib"
"-Wl,-Bstatic" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/librocket-59c875ed219aeb07.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libisatty-cf9a80299d1e
ccfd.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libordermap-6d71f6333e3eb727.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/
libcookie-0accafaa2b8b70f2.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libring-70ca3af228185a9d.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/r
ustc.Mzk2LALmeebA/libpear-07778ed69f5d84a1.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libstate-8e773b7b8cabac49.rlib" "-Wl,--no-whole-archive" "-Wl,--whole
-archive" "/tmp/rustc.Mzk2LALmeebA/libsmallvec-a71ffd0558e4657f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libmemchr-dbed1aa94975e3b0.rlib" "-Wl,--no-whole
-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libtoml-8f55302f625f1ecc.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libserde-60e5c302f2ec389a.rlib
" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libuntrusted-05746f736ed19364.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libhyper
-ae17eb4ae682fcea.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libtypeable-4a4cdfc852912ac0.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.
Mzk2LALmeebA/libtraitobject-5da415ec4ae73e95.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libnum_cpus-4b546f158fd539c4.rlib" "-Wl,--no-whole-archive" "-Wl,--
whole-archive" "/tmp/rustc.Mzk2LALmeebA/libhttparse-5d5ae6b8ace1de17.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libtime-3f975a6cc4765363.rlib" "-Wl,--no-wh
ole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libbase64-cec0550b4e77c7a9.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libsafemem-c88b91ecb499ee
88.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libbyteorder-510bd8ec96c41eba.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/l
iburl-80979afd8e28a176.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libidna-c9c35c48abc6696c.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc
.Mzk2LALmeebA/libunicode_normalization-99e16780b4964889.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libunicode_bidi-eb8a985e5a8a668f.rlib" "-Wl,--no-whole-a
rchive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libmatches-d1db8758bd655355.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libunicase-6bf43a03bfefa78a.r
lib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/libmime-051870413a8438f8.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/liblog-828
f15c33c615081.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/liblazy_static-6356575eae998e88.rlib" "-Wl,--no-whole-archive" "-L" "/home/mick/.rustup/toolchains
/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bdynamic" "-l" "rustc_plugin-d0c80037b5aaac2d" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-li
nux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_metadata-bb2d597388e12fda" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux
-gnu/lib" "-l" "syntax_ext-695c755b5dd0ae58" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "proc_macro-de758cede928c102"
"-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc-c0634755b42b7b43" "-L" "/home/mick/.rustup/toolchains/nightly-x86_
64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "test-366460307f425418" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-li
nux-gnu/lib" "-l" "rustc_const_math-83638df796dcf76f" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_back-c5d84d6c
e923267a" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "graphviz-a697e8b29c6ccee7" "-L" "/home/mick/.rustup/toolchains/
nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "fmt_macros-4670434b15ca0e96" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib
/x86_64-unknown-linux-gnu/lib" "-l" "arena-975ba8c035208613" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "syntax-7196e
f5e760f9aed" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_errors-4578edf1e51fb5c0" "-L" "/home/mick/.rustup/tool
chains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "syntax_pos-b046ac2ed7c19f1e" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/
rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_data_structures-29a9e0acf5f0596c" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/
lib" "-l" "term-e11151919d251b1a" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "serialize-36b4846eb48b573b" "-L" "/home
/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_cratesio_shim-cbd936708ad27d6f" "-Wl,-Bstatic" "-Wl,--whole-archive" "/tmp/rus
tc.Mzk2LALmeebA/libyansi-6f21e18c8115e25e.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/liblibc-26a8b35647b7682f.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-a
rchive" "/tmp/rustc.Mzk2LALmeebA/libpercent_encoding-f4732633d5733a94.rlib" "-Wl,--no-whole-archive" "-Wl,--whole-archive" "/tmp/rustc.Mzk2LALmeebA/liblanguage_tags-fdfb07340ea0469f.rlib" "-
Wl,--no-whole-archive" "-L" "/home/mick/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bdynamic" "-l" "std-b502f7a95dd2ef98" "-Wl,-Bstati
c" "/tmp/rustc.Mzk2LALmeebA/libcompiler_builtins-563ad6af5ea8d854.rlib" "-Wl,-Bdynamic" "-l" "util" "-l" "util" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "
m" "-l" "rt" "-l" "pthread" "-l" "util" "-shared"
= note: /tmp/rustc.Mzk2LALmeebA/librocket-59c875ed219aeb07.rlib(rocket-59c875ed219aeb07.rocket14-7ef39126e4028fdd6ced00bfd6ff8b3a.rs.rust-cgu.o): In function `<core::option::Option<&'a T>>
::cloned':
rocket14-7ef39126e4028fdd6ced00bfd6ff8b3a.rs:(.text._ZN53_$LT$core..option..Option$LT$$RF$$u27$a$u20$T$GT$$GT$6cloned17h8ea82038ef2c0f1dE+0x6f): undefined reference to `<alloc::vec
::Vec<T> as core::clone::Clone>::clone'
/tmp/rustc.Mzk2LALmeebA/libstate-8e773b7b8cabac49.rlib(state-8e773b7b8cabac49.state6-4a72e48b567e08ff7300829fd7f358c2.rs.rust-cgu.o):(.data.rel.ro.vtable.0.llvm.AF121354+0x18): und
efined reference to `<T as core::any::Any>::get_type_id'
/tmp/rustc.Mzk2LALmeebA/libtoml-8f55302f625f1ecc.rlib(toml-8f55302f625f1ecc.toml15-bb395ca246079d316a0e9af094f1b9a5.rs.rust-cgu.o): In function `<toml::value::Value as core::clone:
:Clone>::clone':
toml15-bb395ca246079d316a0e9af094f1b9a5.rs:(.text._ZN57_$LT$toml..value..Value$u20$as$u20$core..clone..Clone$GT$5clone17h7f2333d2841a1b07E+0xdd): undefined reference to `<alloc::ve
c::Vec<T> as core::clone::Clone>::clone'
/tmp/rustc.Mzk2LALmeebA/libtoml-8f55302f625f1ecc.rlib(toml-8f55302f625f1ecc.toml15-bb395ca246079d316a0e9af094f1b9a5.rs.rust-cgu.o): In function `_ZN59_$LT$toml..value..Value$u20$as
$u20$core..cmp..PartialEq$GT$2eq17h62623508a5dde72bE.llvm.F597E872':
toml15-bb395ca246079d316a0e9af094f1b9a5.rs:(.text._ZN59_$LT$toml..value..Value$u20$as$u20$core..cmp..PartialEq$GT$2eq17h62623508a5dde72bE.llvm.F597E872+0x137): undefined reference
to `core::slice::<impl core::cmp::PartialEq<[B]> for [A]>::eq'
/tmp/rustc.Mzk2LALmeebA/libtoml-8f55302f625f1ecc.rlib(toml-8f55302f625f1ecc.toml6-bb395ca246079d316a0e9af094f1b9a5.rs.rust-cgu.o): In function `<core::iter::Cloned<I> as core::iter
::iterator::Iterator>::next':
toml6-bb395ca246079d316a0e9af094f1b9a5.rs:(.text._ZN78_$LT$core..iter..Cloned$LT$I$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$4next17hbd3b903d2ffb2f6eE+0x1f): undefined refer
ence to `<core::option::Option<&'a T>>::cloned'
/tmp/rustc.Mzk2LALmeebA/libhyper-ae17eb4ae682fcea.rlib(hyper-ae17eb4ae682fcea.hyper2-bef1d2f76f358a122034ddf6ba084555.rs.rust-cgu.o): In function `_ZN58_$LT$mime..Mime$LT$T$GT$$u20
$as$u20$core..clone..Clone$GT$5clone17he3a9ceda023c49ddE.llvm.BCD7E30C':
hyper2-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN58_$LT$mime..Mime$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17he3a9ceda023c49ddE.llvm.BCD7E30C+0x1e1): undefined referenc
e to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
/tmp/rustc.Mzk2LALmeebA/libhyper-ae17eb4ae682fcea.rlib(hyper-ae17eb4ae682fcea.hyper2-bef1d2f76f358a122034ddf6ba084555.rs.rust-cgu.o): In function `_ZN65_$LT$language_tags..Language
Tag$u20$as$u20$core..clone..Clone$GT$5clone17hb666d1ac2994b656E.llvm.BCD7E30C':
hyper2-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN65_$LT$language_tags..LanguageTag$u20$as$u20$core..clone..Clone$GT$5clone17hb666d1ac2994b656E.llvm.BCD7E30C+0x3d): undefined re
ference to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
hyper2-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN65_$LT$language_tags..LanguageTag$u20$as$u20$core..clone..Clone$GT$5clone17hb666d1ac2994b656E.llvm.BCD7E30C+0xb5): undefined re
ference to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
hyper2-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN65_$LT$language_tags..LanguageTag$u20$as$u20$core..clone..Clone$GT$5clone17hb666d1ac2994b656E.llvm.BCD7E30C+0xf9): undefined re
ference to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
/tmp/rustc.Mzk2LALmeebA/libhyper-ae17eb4ae682fcea.rlib(hyper-ae17eb4ae682fcea.hyper7-bef1d2f76f358a122034ddf6ba084555.rs.rust-cgu.o): In function `_ZN84_$LT$alloc..btree..map..BTre
eMap$LT$K$C$$u20$V$GT$$u20$as$u20$core..clone..Clone$GT$5clone13clone_subtree17hb2489d6af4a34d57E.llvm.EC9CFF5A':
hyper7-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN84_$LT$alloc..btree..map..BTreeMap$LT$K$C$$u20$V$GT$$u20$as$u20$core..clone..Clone$GT$5clone13clone_subtree17hb2489d6af4a34d57E
.llvm.EC9CFF5A+0x176): undefined reference to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
hyper7-bef1d2f76f358a122034ddf6ba084555.rs:(.text._ZN84_$LT$alloc..btree..map..BTreeMap$LT$K$C$$u20$V$GT$$u20$as$u20$core..clone..Clone$GT$5clone13clone_subtree17hb2489d6af4a34d57E
.llvm.EC9CFF5A+0x321): undefined reference to `<alloc::vec::Vec<T> as core::clone::Clone>::clone'
/tmp/rustc.Mzk2LALmeebA/libunicode_bidi-eb8a985e5a8a668f.rlib(unicode_bidi-eb8a985e5a8a668f.unicode_bidi8-6ebb47785e5908234a709dc681d56b55.rs.rust-cgu.o):(.data.rel.ro.vtable.7.llv
m.A0D96016+0x18): undefined reference to `<core::fmt::Write::write_fmt::Adapter<'a, T> as core::fmt::Write>::write_str'
/tmp/rustc.Mzk2LALmeebA/libunicode_bidi-eb8a985e5a8a668f.rlib(unicode_bidi-eb8a985e5a8a668f.unicode_bidi8-6ebb47785e5908234a709dc681d56b55.rs.rust-cgu.o):(.data.rel.ro.vtable.7.llv
m.A0D96016+0x20): undefined reference to `<core::fmt::Write::write_fmt::Adapter<'a, T> as core::fmt::Write>::write_char'
/tmp/rustc.Mzk2LALmeebA/libunicode_bidi-eb8a985e5a8a668f.rlib(unicode_bidi-eb8a985e5a8a668f.unicode_bidi8-6ebb47785e5908234a709dc681d56b55.rs.rust-cgu.o):(.data.rel.ro.vtable.7.llv
m.A0D96016+0x28): undefined reference to `<core::fmt::Write::write_fmt::Adapter<'a, T> as core::fmt::Write>::write_fmt'
/usr/bin/ld: /home/mick/Development/brdgme/api/target/release/deps/librocket_codegen-5a77027a60795a43.so: hidden symbol `_ZN63_$LT$alloc..vec..Vec$LT$T$GT$$u20$as$u20$core..clone..
Clone$GT$5clone17h8ba1e6349161123aE' isn't defined
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: Could not compile `rocket_codegen`.
warning: build failed, waiting for other jobs to finish...
error: build failed