rust-lang / wg-cargo-std-aware

Repo for working on "std aware cargo"
133 stars 8 forks source link

Hidden symbol isn't defined #82

Closed wcampbell0x2a closed 1 year ago

wcampbell0x2a commented 1 year ago

I'm trying to use build-std on my project: https://github.com/wcampbell0x2a/backhand to build my unsquashfs binary.

cargo 1.68.0-nightly (1cd6d3803 2023-01-12)

The following command gives me an error:

$ cargo +nightly build -Z build-std=std,panic_abort -Z build-std-features=panic_immediate_abort --target x86_64-unknown-linux-gnu --release --bin unsquashfs
[SNIP]
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/wcampbell/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/wcampbell/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-m64" "/tmp/rustcHoQNQX/symbols.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.0.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.1.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.10.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.11.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.12.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.13.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.14.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.15.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.2.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.3.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.4.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.5.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.6.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.7.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.8.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.9.rcgu.o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.4wcyrr57ips4po8a.rcgu.o" "-Wl,--as-needed" "-L" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps" "-L" "/home/wcampbell/projects/wcampbell/backhand/target/release/deps" "-L" "/usr/lib" "-L" "/home/wcampbell/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtracing_subscriber-4fafc830f9b83ab0.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libsmallvec-c45b0a2f642737ba.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libnu_ansi_term-cb6ada78c8dd92ae.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liboverload-d72a911db9ac81ad.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libsharded_slab-ecfe9c58c13e2a1b.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libmatchers-0e2a6be5c243ea48.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libregex_automata-3db6893a78620f0e.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libregex-445eb3110107431f.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libregex_syntax-d7e72dcb39cb95ee.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libthread_local-76198f7ab1086a67.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtracing_log-d76a37d2a446e842.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblog-72e5234d24b81b27.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblazy_static-1edf4c74db266a59.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libclap-8282c38a921a9943.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libstrsim-08e6ba455f4dd899.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libis_terminal-216bffa5457943ae.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librustix-5098db61d88bb7e4.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblinux_raw_sys-854d143ec9258330.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libio_lifetimes-5e05a5d6f20abc18.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libclap_lex-649581f780946d65.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libos_str_bytes-2ee7efcc27c818a5.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtermcolor-bb263c1164e16b34.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libbitflags-94ef8ae2336bcf8c.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libbackhand-9f916e6f519a41af.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtwox_hash-7f3138f3e09c933a.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librand-c8d5916af8aaea94.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librand_chacha-1a25a54fec6eb068.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libppv_lite86-d17281fdeded20fe.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librand_core-21821a7f7c510400.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libgetrandom-95fd275294152c59.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libstatic_assertions-9d7e6b2139efae99.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libthiserror-8e3e927754528981.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libxz2-a0d01461879ce551.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblzma_sys-555dd65d6c12a14f.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblibc-be338aaf8d90b771.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtracing-831d8a18c27f8aeb.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libpin_project_lite-de3d73ca6413167d.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtracing_core-068ff6b7bfb5ff38.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libonce_cell-8b813c5c9aa9c7ed.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libflate2-d8841d4b99fb369a.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libminiz_oxide-864a6f9340795ed3.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libadler-f1ac20bcb85f5f79.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libcrc32fast-7b0481e90bcb3d3f.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libcfg_if-3e59de1c4ead5ccb.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libdeku-46204205acaab106.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libbitvec-3e6125dceecabef9.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libwyz-1bb1a6de57ac1ad3.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libtap-a39cda0807e68ff8.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libradium-a18fae686ac53fbe.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libfunty-ead531a7516b116d.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libstd-307b71886c403347.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libpanic_unwind-2de9a0a9b90d4088.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librustc_demangle-212b01f31ca26a8d.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libstd_detect-47bd48c16cf53288.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libhashbrown-9fa424ac45a8907c.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librustc_std_workspace_alloc-501bf700916d47e3.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libunwind-a923de0873a05a49.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libcfg_if-fa7eb55513257563.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liblibc-cb69ca79299df047.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/liballoc-651b6e50ac19d85b.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/librustc_std_workspace_core-6be2113820b1c855.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libcore-7d369bd6b0955567.rlib" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/libcompiler_builtins-5cfea7f553c3b2a6.rlib" "-Wl,-Bdynamic" "-llzma" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/home/wcampbell/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-Wl,-O1" "-nodefaultlibs"
  = note: /usr/bin/ld: /home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.14.rcgu.o: in function `std::io::default_read_exact':
          unsquashfs.c5e252a7-cgu.14:(.text._ZN3std2io18default_read_exact17hf034ee31de72573bE+0x187): undefined reference to `core::panicking::panic_cannot_unwind'
          /usr/bin/ld: /home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.14.rcgu.o: in function `clap::builder::command::Command::long_about':
          unsquashfs.c5e252a7-cgu.14:(.text._ZN4clap7builder7command7Command10long_about17h0226b8ef5130969dE+0x112): undefined reference to `core::panicking::panic_cannot_unwind'
          /usr/bin/ld: /home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.14.rcgu.o: in function `clap::builder::command::Command::get_matches_from':
          unsquashfs.c5e252a7-cgu.14:(.text._ZN4clap7builder7command7Command16get_matches_from17hf67612dad922cf91E+0x47b): undefined reference to `core::panicking::panic_cannot_unwind'
          /usr/bin/ld: unsquashfs.c5e252a7-cgu.14:(.text._ZN4clap7builder7command7Command16get_matches_from17hf67612dad922cf91E+0x4a5): undefined reference to `core::panicking::panic_cannot_unwind'
          /usr/bin/ld: unsquashfs.c5e252a7-cgu.14:(.text._ZN4clap7builder7command7Command16get_matches_from17hf67612dad922cf91E+0x4ad): undefined reference to `core::panicking::panic_cannot_unwind'
          /usr/bin/ld: /home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7.unsquashfs.c5e252a7-cgu.14.rcgu.o:unsquashfs.c5e252a7-cgu.14:(.text._ZN4clap7builder7command7Command5about17h4fbc8655096212afE+0x112): more undefined references to `core::panicking::panic_cannot_unwind' follow
          /usr/bin/ld: /home/wcampbell/projects/wcampbell/backhand/target/x86_64-unknown-linux-gnu/release/deps/unsquashfs-abb0772333031dc7: hidden symbol `_ZN4core9panicking19panic_cannot_unwind17h65d79d9fcc15bf1aE' isn't defined
          /usr/bin/ld: final link failed: bad value
          collect2: error: ld returned 1 exit status

  = note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

error: could not compile `backhand` due to previous error
ehuss commented 1 year ago

Thanks for the report! I forwarded this to https://github.com/rust-lang/rust/issues/107016 to get more visibility and tracking there since it is likely an issue with the standard library itself.

wcampbell0x2a commented 1 year ago

Thanks for the report! I forwarded this to rust-lang/rust#107016 to get more visibility and tracking there since it is likely an issue with the standard library itself.

Thanks!

wcampbell0x2a commented 1 year ago

Should be closed by https://github.com/rust-lang/rust/pull/108924