Skip to content
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

Multiple codegen units breaks linking: "undefined reference to rust_begin_unwind" #47074

Closed
japaric opened this issue Dec 30, 2017 · 9 comments · Fixed by #49316
Closed

Multiple codegen units breaks linking: "undefined reference to rust_begin_unwind" #47074

japaric opened this issue Dec 30, 2017 · 9 comments · Fixed by #49316
Labels
A-linkage Area: linking into static, shared libraries and binaries

Comments

@japaric
Copy link
Member

japaric commented Dec 30, 2017

STR

$ git clone https://github.com/clebi/stm32_magnetic

$ cd stm32_magnetic

$ git checkout 086b7d9deb1ae7bd3d82d63f65eb9430fab677c1

$ # disable incremental compilation to avoid other issues
$ echo '[profile.dev]' >> Cargo.toml
$ echo 'incremental = false' >> Cargo.toml

$ # discard the Xargo sysroot to avoid problems with stale artifacts
$ rm -rf ~/.xargo

$ # this uses multiple codegen units
$ xargo rustc -- -Z print-link-args > link-args
(..)
  = note: /home/japaric/.xargo/lib/rustlib/thumbv7em-none-eabihf/lib/libcore-82bb515fb6a7673a.rlib(core-82bb515fb6a7673a.core13-a2b2f175d842448d578bfd1df50c2091.rs.rcgu.o): In function `core::panicking::panic_fmt':
          /home/japaric/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/panicking.rs:71: undefined reference to `rust_begin_unwind'

$ cat link-args | tr ' ' '\n'
"arm-none-eabi-ld"
"-L"
"/home/japaric/.xargo/lib/rustlib/thumbv7em-none-eabihf/lib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic0.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic1.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic10.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic11.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic12.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic13.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic14.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic15.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic2.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic3.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic4.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic5.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic6.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic7.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic8.rcgu.o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d.i2c_magnetic9.rcgu.o"
"-o"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/i2c_magnetic-da54b67a466eab3d"
"--gc-sections"
"-L"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps"
"-L"
"/home/japaric/tmp/stm32_magnetic/target/debug/deps"
"-L"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/build/cortex-m-rt-67ae64ff3b026a1b/out"
"-L"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/build/f3-9427da8830940471/out"
"-L"
"/home/japaric/.xargo/lib/rustlib/thumbv7em-none-eabihf/lib"
"-Bstatic"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libcortex_m_rtfm-c0937f58fbde0459.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/librtfm_core-1e85456d9189c8f2.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libuntagged_option-cb0ee6b31e8b5540.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libf3-5f30af66a432ec74.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libstm32f30x-5ab99d65170ba613.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libcortex_m_rt-a656f43a1b217a17.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libr0-eea37c5929500808.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libstatic_ref-4e80cdb2ce553b2f.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libembedded_hal-a5c5f16836b1d4fa.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libcast-c3830481e6a0787e.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libnb-2c1e61e97adbfc28.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libcortex_m-8e97aa6b5ac0c1c3.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libbare_metal-c2470b1735ede45e.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libaligned-ca7b9812ff225cca.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libvolatile_register-a39da4476292d8c3.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libvcell-72540773165f79da.rlib"
"/home/japaric/tmp/stm32_magnetic/target/thumbv7em-none-eabihf/debug/deps/libcortex_m_semihosting-d2a306addcb7fb3a.rlib"
"/home/japaric/.xargo/lib/rustlib/thumbv7em-none-eabihf/lib/libcore-82bb515fb6a7673a.rlib"
"/home/japaric/.xargo/lib/rustlib/thumbv7em-none-eabihf/lib/libcompiler_builtins-21afa2c8d0d459e7.rlib"
"-Tlink.x"
"-Bdynamic"

$ # the linker command succeeds if the objects / archives are wrapped in --start-group / --end-group
$ "arm-none-eabi-ld" --start-group "-L" (..) "-Bdynamic" --end-group && echo OK
OK

$ # the build also succeeds if a single codegen unit is used
$ echo 'codegen-units = 1' >> Cargo.toml
$ rm -rf ~/.xargo && cargo clean
$ xargo build && echo OK
OK

Meta

$ rustc -V
rustc 1.24.0-nightly (77e189cd7 2017-12-28)

cc @alexcrichton @clebi

@japaric
Copy link
Member Author

japaric commented Dec 30, 2017

After bisecting it seems that this broke between nightly-2017-12-27 (good) and nightly-2017-12-28 (bad).

@alexcrichton
Copy link
Member

@japaric can you confirm where, for the embedded platform here, the symbol rust_begin_unwind is defined? I think this may be the same as #18807 (an ancient bug now!) where rustc doesn't understand this special symbol relationship well enough to pass the right linker flags.

@japaric
Copy link
Member Author

japaric commented Dec 30, 2017

@alexcrichton the panic_fmt lang item, and several other lang items, is defined in the cortex-m-rt crate.

@alexcrichton
Copy link
Member

Ok cool, makes sense! In that case I believe this is indeed the same issue as #18807.

The compiler knows who needs rust_begin_unwind (libcore) and also knows who defines it (libstd in general and cortex-m-rt in your case). It's the compiler's job to understand that this is a cyclic dependency and insert --start-group and --end-group appropriately but it currently does not.

I believe the correct fix here (and for #18807) is for rustc to detect which crate defines rust_begin_unwind and which crate requires it (std/core in general) and to automatically insert --start-group and --end-group around these libraries. That should be enough to make the linker error go away.

@alexcrichton alexcrichton added the A-linkage Area: linking into static, shared libraries and binaries label Dec 31, 2017
@japaric
Copy link
Member Author

japaric commented Jan 11, 2018

ugh, I'm now seeing this linker error in another project when compiling it using the dev profile even though codegen-units is set to 1 and incremental is disabled in the Cargo.toml. My current fix is ... to enable LTO on the dev profile.

@alexcrichton any chance you'll have to time soon to implement the fix you mentioned? Otherwise I can look into it next week, probably.

@alexcrichton
Copy link
Member

@japaric unfortunately I don't think I'll have time to look into this, but I can certainly help out with questions if they come up!

@japaric
Copy link
Member Author

japaric commented Jan 11, 2018

@alexcrichton alright. I'll ping you on IRC when I get a chance to look into this.

dvc94ch added a commit to riscv-rust/riscv-crates that referenced this issue Feb 27, 2018
japaric added a commit to rust-embedded/discovery that referenced this issue Mar 2, 2018
bors bot added a commit to rust-embedded/discovery that referenced this issue Mar 2, 2018
70: work around rust-lang/rust#47074 r=japaric a=japaric
@alexcrichton
Copy link
Member

I've opened a PR for this at #49316

alexcrichton added a commit to alexcrichton/rust that referenced this issue Mar 29, 2018
This commit fixes a longstanding issue with the compiler with circular
dependencies between libcore and libstd. The `core` crate requires at least one
symbol, the ability to unwind. The `std` crate is the crate which actually
defines this symbol, but the `std` crate also depends on the `core` crate.

This circular dependency is in general disallowed in Rust as crates cannot have
cycles amongst them. A special exception is made just for core/std, but this is
also unfortunately incompatible with how GNU linkers work. GNU linkers will
process undefined symbols in a left-to-right fashion, only actually linking an
rlib like libstd if there are any symbols used from it. This strategy is
incompatible with circular dependencies because if we otherwise don't use
symbols from libstd we don't discover that we needed it until we're later
processing libcore's symbols!

To fix this GNU linkers support the `--start-group` and `--end-group` options
which indicate "libraries between these markers may have circular dependencies
amongst them. The linker invocation has been updated to automatically pass these
arguments when we're invoking a GNU linker and automatically calculate where the
arguments need to go (around libstd and libcore)

Closes rust-lang#18807
Closes rust-lang#47074
bors added a commit that referenced this issue Mar 29, 2018
…oerister

rustc: Group linked libraries where needed

This commit fixes a longstanding issue with the compiler with circular
dependencies between libcore and libstd. The `core` crate requires at least one
symbol, the ability to unwind. The `std` crate is the crate which actually
defines this symbol, but the `std` crate also depends on the `core` crate.

This circular dependency is in general disallowed in Rust as crates cannot have
cycles amongst them. A special exception is made just for core/std, but this is
also unfortunately incompatible with how GNU linkers work. GNU linkers will
process undefined symbols in a left-to-right fashion, only actually linking an
rlib like libstd if there are any symbols used from it. This strategy is
incompatible with circular dependencies because if we otherwise don't use
symbols from libstd we don't discover that we needed it until we're later
processing libcore's symbols!

To fix this GNU linkers support the `--start-group` and `--end-group` options
which indicate "libraries between these markers may have circular dependencies
amongst them. The linker invocation has been updated to automatically pass these
arguments when we're invoking a GNU linker and automatically calculate where the
arguments need to go (around libstd and libcore)

Closes #18807
Closes #47074
berkus added a commit to metta-systems/vesper that referenced this issue Nov 10, 2018
@MightyPork
Copy link

MightyPork commented Feb 12, 2019

I just had something similar with rustc 1.32.0 (9fda7c223 2019-01-16).
Should I start a new issue for it? It might be some regression relating to this

It's an error in the final linking stage, but when I use --release it builds fine


error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.103nc01ggz589tir.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.12m8s5r5anbfzg9v.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.141i1tp491ko5omv.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1542hx8kcttvi3nb.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.169pth8q4y7rjniq.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.184gw8tg84o2p57y.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1bsia0210fgh8nr9.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1crb2srru79bmmlu.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1ed17dbidgmc509p.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1el88c7nruu5cbr4.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1emikl2qjffy39w7.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1f1xcxz9pyv4rqrx.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1f7hrbwxzjggwyry.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1fcfw8ng9gyo1uie.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1k5qg3t4kamnexut.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1k6ulb8s8ztebkl4.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1nofbco4w9frmp2r.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1qtfydvbrp3zo1z6.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1r2fb8vut3wc9sqb.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1rduf2kf4pw67vkl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1s700fw27gamu2je.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1tv5wzyafmbkansj.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1v24mvbn9lad7ksz.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1w4gr2l3lpo33b2b.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1wwumg1jphudwcz9.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.1ydkpls60f3ccrvc.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.22846qop86h6de1h.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2397yfbzoe1aa5hk.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.23qfxrtjo2bt4pfp.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.252ibkaglgjkuv45.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.269guoxfa0sbc9kw.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.26uvecf99c5cf91o.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.29o09rsp569usk0p.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.29uh3rgnpvr6pf8k.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.29vrlk5wl1ddwenp.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2ao5ulrl29rtxhj7.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2ebcl0mu0gvvlnq6.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2fhngb9ynbrt5cx7.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2fyqbwkdwyqvyrma.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2g3qxhmfqa57301x.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2guz9tqgvn2ldf52.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2i6fb358g9031xjz.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2mv4m029ceppwsjw.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2nmjirizeqjz93i0.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2nri9b6l8w0ghchd.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2o6o690r52907kb0.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2pfuxx4xzb6u5lmb.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2ra1k1ovirzuikoi.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2s911uewwh2spcfu.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2uirlf5dqwkwxrl5.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2wicgdll2jjfa0fu.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2wsvvy9l2svfpg11.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2ybaxyv3we9dqhef.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.2yr69b4o9fl3vjnt.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.30bb4ga1x3e0622q.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.30dnmf6v11y8keix.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.34wyb5l3njccf95w.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.34xlgsohaq1grsdu.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.377lqr71iktl9re1.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.37ydzev9pn9ddmot.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.399s8hpmxmc37yj3.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3bcxb0lxp37s827y.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3c4q08wowfhms54e.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3d0qdq2c5v4qit98.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3dxoanmgmbk4dzxg.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3eqcu0btu0ak7jup.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3f828wmfxdiq0b4o.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3ii7oqq8fvzxr6tw.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3iqb8tr0u3rwgcvl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3j66d33eyp4whdfi.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3le5544siwyoj5pq.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3nieh16slinuotgx.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3o73vtdk5peamyfe.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3sqzy25z7id6sxqi.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3u88a3zej4rmvr1z.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3ug1idzdw7ulv3n.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3vbhipet538r0cw4.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3vhefrjto8257011.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3vj7vphkt4645pe2.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3we4wrt02wezvk31.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3x7s91c8epk0zvg1.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3ycfcwhxykmz0245.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.3znt1b9dskf6dvub.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.41h5eijuh7t48fqr.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.44oq5bhig0nsdno2.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.460ycnnuwgtjkke7.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.462bxffm2soqzfw5.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.46wx6ci513u85vbl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.48sg8ek3ksxkfbxt.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.49k1wlenwkebc8fd.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.49v780yld13r4dmt.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4a1rqztgbkp0muuz.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4b11jou8a8hjxcyj.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4cj89lqsd0qgxm7y.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4cjjfxk1mjqbt515.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4dh3yplc5yv7qecc.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4dmxq4el3en289cg.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4e04qwwx2s8jrufn.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4hhpp10vin43xa8d.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4if2tvwy7npadckk.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4iiangjhsqnop504.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4ivv6tpfwl8wjl6p.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4kzflbnt9f8u958q.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4ncal5t8ehghzr9c.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4nrth6lea5v55fd8.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4omd49e9e14w56h0.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4oq8idzxzinr1qe5.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4p8fwnahkq06w2rs.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4q46042h6wuri5f1.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4qpo2uorgrt23wnf.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4r80773thrd0hte2.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4swr0hmz8ct19h78.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4vekj3r7aosp4dwq.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4wgnsfo6pdatheh8.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4wl2vb3uxtkhqwhl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.524xha6qjg6kyp7.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.52g8p844evaz2dwy.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.532rdsmogt1su8o4.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.53pczabjs4h2pin1.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.53t5pupuec7pvrqf.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.542bus405op4bp62.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.54ozf0g9jyuccc5b.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.55ex08ycyu23qvct.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.57c134qmgtbq5wky.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.5amrcr6mjxcim2jn.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.5chmbgs20e1lk5vo.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.5d1b3q979cmabl2j.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.5f0briul3s7djwyf.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.68gbrk8k9jm4ypu.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.7w9jipfzj6x7325.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.a1mfsvx2js8tawd.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.bxdgro8atqzqcb9.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.dg8hqohqzty9b6r.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.e298y00sbz7sj61.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.ebulm3ta3r6tmr5.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.elt1a9rrznj48cr.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.ffvc1wkedm6b67s.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.ghs50gq9u075nv2.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.hmyrqi9zey0wpu1.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.ho4ksxnek7sba57.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.hq53k8ph3jamt7r.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.hvht1d2kqhslabl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.i4zeh7jndix8e2n.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.j6e2b7k27oe82al.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.jrna5zbasokpf2m.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.jy09lslvve5b3pe.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.k0aqc79oy06zu6q.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.kcfqulghu1figgb.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.l14x8krwsmm2pm2.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.laanp149dx676yk.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.nd537809zkcq2xy.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.rigz6sydaai7dm3.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.sb917jg20m3ilkj.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.u7yddjjtkau8qnl.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.wp94l4vwz0l3sdw.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.xxlcf64cey3k2kz.rcgu.o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.yyui27bmlkwc53y.rcgu.o" "-o" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39" "/home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.4t8u1cod8fepdt2e.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/home/ondra/rust/camproxy/target/debug/deps" "-L" "/home/ondra/rust/camproxy/target/debug/build/rust-crypto-0d1e6632a568be3b/out" "-L" "/home/ondra/rust/camproxy/target/debug/build/brotli-sys-5a85bee7a2ae1e95/out" "-L" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/ondra/rust/camproxy/target/debug/deps/librouille-69046b5d48cba6cd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libthreadpool-bd7e78ac63cf4549.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtiny_http-23614bea4093b265.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libchunked_transfer-407a4571f863f284.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libascii-286c68e889436ca9.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsha1-2ec5a788d56b0240.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand-3a2637974bc48e36.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmultipart-b880158c89d7529c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtwoway-5773b6324abdd02f.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbuf_redux-c27aef689593f9ac.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsafemem-2347610db5c680e2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmemchr-f3a9c9af23b3e0be.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libquick_error-d076393f8637c292.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtempdir-f5defff6264db41c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libremove_dir_all-4fa41e3b80f0305f.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmime_guess-51205de0ae6203b9.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmime-0addd24185afd27e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblog-b88f65a6c0a30aa4.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libfiletime-288befac23ecafed.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libchrono-c3206ff53241709b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbrotli2-f640686182c5c933.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbrotli_sys-96e95df303d7a52e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbase64-3a7d8bc0294c3ca2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsafemem-93527bca1604d063.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libreqwest-90fd8ee456afe195.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libuuid-ede359e7941b29e0.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libserde_urlencoded-82efa61d375a28dd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liburl-33fdcc9560355a8b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libpercent_encoding-ac5cafde783ab644.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libidna-536ce72a4470265a.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libunicode_normalization-3f355d1cdb447f6d.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libunicode_bidi-27d83b52c6d9ffc2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmatches-11044e45e5f5d130.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libdtoa-064ec73550288557.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libserde_json-60553b8760404a99.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libryu-6558757443f9190e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmime_guess-d70bec2ad5b9ffc0.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libphf-7fd76f4af48d6a0d.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libphf_shared-1d0f8675be7eb0a5.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libunicase-dc62e6750392084a.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsiphasher-ca107af637beebaa.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmime-fb31a5e617b6a202.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libunicase-9f48845e88013843.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblibflate-32519dc6f56e5cbc.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrc32fast-2e6153384f04b7d6.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libhyper_tls-306782d3e161a4b7.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnative_tls-fd28df375e657a1f.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libopenssl_probe-6819bb221d559c18.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libopenssl-31e4a5e98c051de0.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libopenssl_sys-09d6c1331924e5cc.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libforeign_types-aad92082f7cc0f15.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libforeign_types_shared-525b92e9fa3208ad.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libhyper-d7827e8176af0392.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libwant-f377f57f6c6f5c98.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtry_lock-c24bfc74fbb18a1d.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_tcp-6b9580b425c6c12c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio-be5c4b3cf0c15857.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_timer-c4e30af89193541c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_threadpool-d7f7a087357379c7.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam-3ee1275a8c75f2af.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_channel-19bb93a1f1d32ac9.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_deque-7b2b881cfd120bf4.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_epoch-97451a92526e97f0.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_reactor-d4f35cc4dfbf591d.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_current_thread-b8cdd96ace872b22.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_executor-f9cf9034f397adfe.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_utils-d1e2d836aaee6044.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmio-4d1a4909ddec4bc8.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblazycell-03bf8f709df4eabd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnet2-7b9cfde64e42857e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libhttparse-2dc05d372c1a93b7.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libh2-8e653d49ce03d2fb.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libindexmap-8d9bded0f47a1104.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libstring-18a5b01a4a5e2575.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libslab-5b96405ce556748b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtokio_io-e76131e3775c90bd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblog-c3446220cd684946.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libfutures_cpupool-12de9a95287e5e2a.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libhttp-8f9e933a8efeda1f.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libitoa-48e624e350b88ca2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libfnv-de0c071f3d02cd92.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libfutures-9876026b2cd27988.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libencoding_rs-938144d6530ee061.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbytes-0ebe3c59fdf20f1b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libiovec-9800841355731653.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbase64-614301bb3ff84f33.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libdigest_auth-88681053e2828204.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libhex-df545491878112c1.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrypto-fc76dcb7d7c5dbfd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtime-a5bc5dca8ebdc9a7.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librustc_serialize-d91d28fc1e6df52c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand-0019be5d5e630f30.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand-7d3d92cf191e26bc.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libserde-29c752743a49150b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libparking_lot-4d194aa3f0dde1ae.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libparking_lot_core-ef6c96439a08c1bf.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsmallvec-ec7449da6f29e309.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libunreachable-f82bf708cd2a7555.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libvoid-29e9e96c75308535.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand-941ebd74d757d215.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_xorshift-c858e8f9ec84c127.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_pcg-e53079435082fdcb.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_hc-d9ce3c6e74ec8734.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_chacha-0fa9e17c2e912ae2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_isaac-795884cd9d48debf.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_core-ef5ca41dc17830bd.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_os-f6c6fc467aa10239.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_jitter-2ac0e886c468b03e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librand_core-c44f9a54e74e1de3.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblock_api-372284a73b54e57e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libowning_ref-2ac6d58a0aadcbc1.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libstable_deref_trait-83b46d96ec33e001.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libimage-e6d4d7cd0d2f637b.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libtiff-45ef6ffffc6e833d.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libpng-d53b9863aa5201ff.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libdeflate-04fd1afe52f20d70.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libgzip_header-f57ccc060deca441.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrc-dfb00699536d8716.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libinflate-e7d698a22dfeb137.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libadler32-831f34afde0b44c8.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbitflags-f4c5ccff822b82c9.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libjpeg_decoder-b3f42e78f2da6dd9.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librayon-48a5f676c3acb200.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libeither-cafae82f01e79117.rlib" "/home/ondra/rust/camproxy/target/debug/deps/librayon_core-fce744df2407a375.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnum_cpus-452a17f51782b7ba.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblibc-e1ff536ab604bb39.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_deque-000970e69a9c8f10.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_epoch-ab6809434ddf75f1.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libscopeguard-c76e49e09b06b559.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libmemoffset-a0c0b3f18ac73f88.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblazy_static-e15de2558ea751ff.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcrossbeam_utils-4dc0b05be525bf3e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcfg_if-6cb3c784327a57da.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libarrayvec-372b20980ad98440.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnodrop-0b0236a8ee22c97c.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libscoped_threadpool-5c6ba7ea7fb4a7a2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libgif-e3cd96ae23121625.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libcolor_quant-448f1e1c3d4dd5d2.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libsafe_transmute-c80d4e3d72e35c13.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnum_rational-0c82be96dcb20f29.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnum_iter-fad9ce057047ab12.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnum_integer-cc9242e580a2706a.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libnum_traits-f73ab1c2c54c610e.rlib" "/home/ondra/rust/camproxy/target/debug/deps/liblzw-b16a85132ebd7221.rlib" "/home/ondra/rust/camproxy/target/debug/deps/libbyteorder-7c97eb447b75b07f.rlib" "-Wl,--start-group" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-dd4752c70d4ce71d.rlib" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e04840eda0100e05.rlib" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-16bfb4d182748e63.rlib" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-185d9b81685a2f08.rlib" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-4806247fe4c34e64.rlib" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-879310dc3b96af61.rlib" "-Wl,--end-group" "/home/ondra/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-d0572f7a936161bf.rlib" "-Wl,-Bdynamic" "-lssl" "-lcrypto" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil"
  = note: /usr/bin/ld: /home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39.5amrcr6mjxcim2jn.rcgu.o: in function `camproxy::camera::Camera::fetch_update_readonly':
          /home/ondra/rust/camproxy/src/camera.rs:285: undefined reference to `image::dynimage::DynamicImage::write_to'
          /usr/bin/ld: /home/ondra/rust/camproxy/target/debug/deps/camproxy-82c67e89c191de39: hidden symbol `_ZN5image8dynimage12DynamicImage8write_to17hb0bdbdebabd7767eE' 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 `camproxy`.

Caused by:
  process didn't exit successfully: `rustc --edition=2018 --crate-name camproxy src/main.rs --color always --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=82c67e89c191de39 -C extra-filename=-82c67e89c191de39 --out-dir /home/ondra/rust/camproxy/target/debug/deps -C incremental=/home/ondra/rust/camproxy/target/debug/incremental -L dependency=/home/ondra/rust/camproxy/target/debug/deps --extern digest_auth=/home/ondra/rust/camproxy/target/debug/deps/libdigest_auth-88681053e2828204.rlib --extern image=/home/ondra/rust/camproxy/target/debug/deps/libimage-e6d4d7cd0d2f637b.rlib --extern parking_lot=/home/ondra/rust/camproxy/target/debug/deps/libparking_lot-4d194aa3f0dde1ae.rlib --extern rand=/home/ondra/rust/camproxy/target/debug/deps/librand-941ebd74d757d215.rlib --extern reqwest=/home/ondra/rust/camproxy/target/debug/deps/libreqwest-90fd8ee456afe195.rlib --extern rouille=/home/ondra/rust/camproxy/target/debug/deps/librouille-69046b5d48cba6cd.rlib --extern serde=/home/ondra/rust/camproxy/target/debug/deps/libserde-29c752743a49150b.rlib --extern serde_derive=/home/ondra/rust/camproxy/target/debug/deps/libserde_derive-f373b9e9aaa0f325.so --extern serde_json=/home/ondra/rust/camproxy/target/debug/deps/libserde_json-60553b8760404a99.rlib --extern url=/home/ondra/rust/camproxy/target/debug/deps/liburl-33fdcc9560355a8b.rlib -L native=/home/ondra/rust/camproxy/target/debug/build/rust-crypto-0d1e6632a568be3b/out -L native=/home/ondra/rust/camproxy/target/debug/build/brotli-sys-5a85bee7a2ae1e95/out` (exit code: 1)

the work-around from here also helped

[profile.dev]
opt-level = 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-linkage Area: linking into static, shared libraries and binaries
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants