rust-lang / rust-lang/rust

regression: `rust-lld: error: duplicate symbol: crc32␍` etc. on `x86_64-pc-windows-msvc` for tests depending on crate `libz-sys`

Open
#139,821 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-linkage C-discussion O-windows-msvc
Dominant language
Rust
Stars
119k
Forks
16.2k
PR merge metrics
PR metrics pending

Description

Trying to compile on latest nightlies (see bisect below) emits many of the following error within libz-sys:

  = note: rust-lld: error: duplicate symbol: crc32␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\crc32.c:1016␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-crc32.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
error output
error: linking with `rust-lld.exe` failed: exit code: 1
  |
  = note: "rust-lld.exe" "-flavor" "link" "/NOLOGO" "F:\\Users\\Mingw\\AppData\\Local\\Temp\\rustcVT7IxH\\symbols.o" "<257 object files omitted>" "F:\\Projects\\hydroflow\\target\\debug\\deps/{libdunce-490ac6fa22527cc8.rlib,libshell_escape-89070ccbf731f64b.rlib,libserde_path_to_error-da51a08afeca280c.rlib}.rlib" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*}.rlib" "F:\\Projects\\hydroflow\\target\\debug\\deps/{libdyn_clone-2c693edc2cafa74f.rlib,libmemo_map-f7e8140045a63887.rlib,libcargo_metadata-3afb5e79ee503ae3.rlib,libthiserror-28d33aa4c229c2c1.rlib,libcargo_platform-d650f7536ffa273b.rlib,libsemver-52b80da623a41b76.rlib,libcamino-7daee7d692550714.rlib,libnameof-f136cce52656def7.rlib,libnanoid-80da1872751f6bd3.rlib,librand-f66c24a3e23da036.rlib,librand_chacha-cdce07244619ead2.rlib,libppv_lite86-87acd66a3af1067c.rlib,librand_core-e5b2c4a2527420db.rlib,libasync_ssh2_lite-270f70caff4c1ae1.rlib,libssh2-7a90b2bd0d5489d1.rlib,libparking_lot-33597997cfdb7231.rlib,libparking_lot_core-cc85084db42e01da.rlib,libwinapi-f5016ecd14306506.rlib,libinstant-7da65afc8f736b5b.rlib,libbitflags-dfca5c4ffa4f1d59.rlib,liblibssh2_sys-cbf2128f425bceef.rlib,liblibz_sys-79931f388a357a82.rlib,liblibc-a14427b2ce3ebb83.rlib,libwholesym-74ecbccfec7015a6.rlib,libmemmap2-064691de1c58a477.rlib,libsymsrv-12e706f982ec2993.rlib,libcab-2e089a49d9ac0c46.rlib,libtime-809d5794ce6898c1.rlib,libtime_core-40359cbabc3dbbd8.rlib,libnum_conv-25ee515b4446d7e9.rlib,libderanged-9c0bfc5fd8262718.rlib,libpowerfmt-a21659ed8be10e5c.rlib,liblzxd-3e4bad9e8edf9af4.rlib,libdirs-fc08918f61b189fe.rlib,libdirs_sys-05ae3af10ff5437a.rlib,liboption_ext-e4d4647d689901b6.rlib,libfs4-d520eeb1e9d05ace.rlib,libreqwest-c660a0274084bcb4.rlib,libserde_urlencoded-d325f55c391e18d2.rlib,libbase64-c9cc1af3ab183922.rlib,librustls_pemfile-05af8cdd4ccb74df.rlib,libwindows_registry-e55a9fba5bae9d24.rlib,libwindows_targets-b590ae889d183991.rlib,libwindows_strings-25810f1c5d216952.rlib,libwindows_result-dc937b9c04ad74e9.rlib,libwindows_link-7d8b2e9c4c517ee5.rlib,libipnet-7ce64db73d9ff15f.rlib,libhyper_rustls-60e78f3c39d804bb.rlib,libwebpki_roots-03ec4688ee94d750.rlib,libtokio_rustls-079572aa37a2b4e9.rlib,librustls-84c70ec789ca42a9.rlib,libsubtle-7a62713adcbc7e72.rlib,libwebpki-b4e8d81b42678268.rlib,libring-486fbf2bb30088c3.rlib,libuntrusted-1def58ec6b7b2f4e.rlib,libzeroize-c08345c222b1583f.rlib,librustls_pki_types-2e827a03ba10a040.rlib,libtower-428c81796e3e0fd0.rlib,libsync_wrapper-e037a74fa6b7e2ad.rlib,libtower_layer-e54a78936e51308c.rlib,libhyper_util-f263ddc484cf5094.rlib,libtower_service-85c893f18d7f8b9f.rlib,libtracing-0b0145a8dbbb01fe.rlib,libtracing_core-db1a3b8b3b65f464.rlib,libhyper-6820c8bc64085243.rlib,libwant-67e7bc29f1287585.rlib,libtry_lock-1d7644d8c8c15ffe.rlib,libhttparse-585899819f2a3a27.rlib,libhttp_body_util-6d8c7e1752339e1f.rlib,libhttp_body-1b59bcd5395fb701.rlib,liburl-52e809396ce589e1.rlib,libidna-6b7afb58eee59160.rlib,libidna_adapter-185c05017dd58bb5.rlib,libicu_normalizer-b15f6ad34e0dd70e.rlib,libicu_normalizer_data-666d8f3d46b55a2e.rlib,libwrite16-0f669802e9093f18.rlib,libutf8_iter-470e50d0e67000d5.rlib,libutf16_iter-27e504796cb8d100.rlib,libicu_properties-13a87cc51f3b8215.rlib,libicu_properties_data-35b8ff2aee66a1d8.rlib,libicu_locid_transform-55cf717f6fdc2392.rlib,libicu_locid_transform_data-213cc3c639c231fc.rlib,libicu_collections-f66d773264b3162f.rlib,libicu_provider-b520fc8a22146158.rlib,libicu_locid-62bde748e35d53d5.rlib,liblitemap-34c4bc45f88d5ced.rlib,libtinystr-84b7602b1c22ab24.rlib,libzerovec-377492b5fde4ca71.rlib,libwriteable-484bb341793a49d8.rlib,libyoke-c0507b5ac7fe8c6b.rlib,libform_urlencoded-da3d6eb3563d5673.rlib,libpercent_encoding-36355d0f5ec6ec70.rlib,libhttp-af52b89ff3279088.rlib,libfnv-98890e3ff67f2430.rlib,libasync_compression-e1956eaa1d112b4b.rlib,libbrotli-82b292736b206164.rlib,libbrotli_decompressor-8018f8ddfa7e3624.rlib,liballoc_stdlib-41fab82aeccd3af7.rlib,liballoc_no_stdlib-4168b4549df78f01.rlib,libsamply_symbols-c2ac46f6e836665c.rlib,libsrcsrv-64ba2fd3573645e2.rlib,liblzma_rs-3eaf7f38c1f8944f.rlib,libcrc-fbbbe845a020ed4a.rlib,libcrc_catalog-c873fc02293324ce.rlib,libcpp_demangle-dde96526b656d553.rlib,librustc_demangle-2f576b73b3db47c4.rlib,libscala_native_demangle-f2ffbaac1112fd4f.rlib,libmacho_unwind_info-b97d12d171525024.rlib,libaddr2line-1a3fae4293c420b7.rlib,libgimli-8aa99044ad1337ab.rlib,libmsvc_demangler-c2eb509166b0c8a8.rlib,librangemap-3de585ea42dc7a79.rlib,libyoke-5a567535db9b8a46.rlib,libzerofrom-5f4d553fc90d281d.rlib,libzerocopy-81539db6a385509e.rlib,libnom-78d8028cc1a84c94.rlib,libobject-f18b49d7f84b169a.rlib,libruzstd-e37616e219a06d02.rlib,libtwox_hash-fba1d96825ffdab7.rlib,libstatic_assertions-dc86ef657059a9cd.rlib,libflate2-8aa5969ec56e6327.rlib,libminiz_oxide-bdfacedcde0c1a8d.rlib,libadler2-169b89118f2b28c6.rlib,liblibz_rs_sys-917737c2d13c5fa2.rlib,libzlib_rs-3144043675f988b1.rlib,libcrc32fast-3eeb57e99fd7cc8c.rlib,libpdb_addr2line-71528517243462a8.rlib,libelsa-45c4f51591e6ec1d.rlib,libstable_deref_trait-fd6a8db73e3da569.rlib,librange_collections-45a3961a66c5c5e4.rlib,libref_cast-64021d61a821e6d3.rlib,libinplace_vec_builder-aecbbe16f1765acd.rlib,libbinary_merge-c76102d13edc83d0.rlib,libpdb2-7f4841b425d62b22.rlib,libfallible_iterator-a07db4be72934cd9.rlib,libscroll-a0be68c3ca7eebfb.rlib,libmaybe_owned-c901fbcabbae31a6.rlib,liblinux_perf_data-9c741e308aed6cbf.rlib,libthiserror-012cb0549d9e5c41.rlib,libprost-115d9224e91ce42b.rlib,liblinear_map-fbe13a192fb66a1b.rlib,liblinux_perf_event_reader-37724c0fab6c6b1e.rlib,libbitflags-b1abe4b513ef3df2.rlib,libdebugid-98dfce93f1ee323f.rlib,libuuid-d397581c277c82db.rlib,libserde_json-2c88ac84baf31653.rlib,libryu-bf51b1d236e27c94.rlib,libitertools-2d0b343c344846f9.rlib,libeither-6a9092ae74ed7681.rlib,libinferno-3ad0f034387fc91a.rlib,libcrossbeam_channel-6b592612d221d435.rlib,libnum_format-b2d19895521ec8c2.rlib,libitoa-fc76cb868d844108.rlib,libarrayvec-bb2e20a36e5c84f5.rlib,libstr_stack-6cc3ea276f42d60b.rlib,libquick_xml-da74564e48fc88b8.rlib,librgb-bc2a64edf0e25898.rlib,libbytemuck-e65601f1e9631584.rlib,libindexmap-babcf1743e3087a3.rlib,libequivalent-7faac8ed80161d67.rlib,libhashbrown-a0662571c6c349c2.rlib,libis_terminal-a8d8cd755dda3f4a.rlib,liblog-ca2053a95ea62abf.rlib,libdashmap-ab1189f71e8170e7.rlib,libhashbrown-aeca10d661ea0b2e.rlib,libahash-ef78d2f1c2034f15.rlib,libgetrandom-55ce9492b8d02544.rlib,libzerocopy-cd7af60e3c7dab6b.rlib,libbyteorder-d8a0d051f37c2508.rlib,libasync_process-007d4c5efac7c8cf.rlib,libasync_lock-0827c634d62fae4f.rlib,libblocking-3ce5f753e697724d.rlib,libpiper-0b8eec5aab2ee92c.rlib,libatomic_waker-f01c4339b1368ba1.rlib,libfutures_lite-328b112a01133dfc.rlib,libasync_task-af502716746afb1f.rlib,libasync_channel-f4ba0fdc403f1715.rlib,libevent_listener_strategy-f7981ef9e464da06.rlib,libevent_listener-065148104e9fc094.rlib,libparking-3747cdeb4bf2ef95.rlib,libconcurrent_queue-400a061152355efe.rlib,libcrossbeam_utils-fe08fa544bf1ea02.rlib,libindicatif-12f4a919a3f7c7fc.rlib,libportable_atomic-6a555d1102815e10.rlib,libnumber_prefix-2702996356c9fc09.rlib,libconsole-60496b983dc405bd.rlib,libencode_unicode-07c1bfd418cfa80e.rlib,libunicode_width-d579936016215271.rlib,liblazy_static-aa264dec8e156b7d.rlib,libhydro_deploy_integration-70a8e2a1d4aa5f30.rlib,libtempfile-d807cf10f2563cdb.rlib,libfastrand-655f54079e8f8ff5.rlib,libwindows_sys-54142bdc5b8b5c56.rlib,libonce_cell-dc5e0301747cff4c.rlib,libtokio_util-0ccfb72b0d3986b7.rlib,libtokio_stream-7946bf2ac51e1e38.rlib,libtokio-d64401ccf84f80bb.rlib,libsocket2-2b875af0760b0a2c.rlib,libmio-38a62f0bb437cc5c.rlib,libwindows_sys-9764bd6a78a9949c.rlib,libparking_lot-978bc75a6287f8c7.rlib,libparking_lot_core-3243c1ffcf34cf4b.rlib,libwindows_targets-dd8cca008988cf75.rlib,libcfg_if-120b7212e7bc72ec.rlib,libsmallvec-204b4f9486a8735d.rlib,liblock_api-b5a7f7f782f9b204.rlib,libscopeguard-4a1404f096e49870.rlib,libserde-a7895223f17d2b9f.rlib,libpin_project-fe14311b4bcc6f75.rlib,libfutures-8fcf4f1290fdbe49.rlib,libfutures_executor-d265691d3ffecee2.rlib,libfutures_util-9186330e5c57b7bd.rlib,libmemchr-105646b5756cb14a.rlib,libfutures_io-b16ac9f488b8d9f8.rlib,libslab-75bf095029a1be07.rlib,libfutures_channel-fc933f5ba1427b0e.rlib,libpin_project_lite-f75bdb3e4a574140.rlib,libfutures_sink-aa7e954255f4c0c6.rlib,libfutures_task-1c3fa5431198fd55.rlib,libpin_utils-8ff768994ab1a462.rlib,libfutures_core-b17e2c2a87306059.rlib,libbytes-6e1b71233944c901.rlib,libanyhow-7cafc956d4aec9ec.rlib}.rlib" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib/{libstd-*,libpanic_unwind-*,libwindows_targets-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libunwind-*,libcfg_if-*,liballoc-*,librustc_std_workspace_core-*,libcore-*,libcompiler_builtins-*}.rlib" "kernel32.lib" "advapi32.lib" "cfgmgr32.lib" "kernel32.lib" "user32.lib" "bcrypt.lib" "crypt32.lib" "user32.lib" "ntdll.lib" "legacy_stdio_definitions.lib" "D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.53.0\\lib\\windows.0.53.0.lib" "bcrypt.lib" "advapi32.lib" "D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib\\windows.0.52.0.lib" "D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib\\windows.0.52.0.lib" "D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib\\windows.0.52.0.lib" "kernel32.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "dbghelp.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:F:\\Projects\\hydroflow\\target\\debug\\build\\libssh2-sys-81938cdcc849f117\\out\\build" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:F:\\Projects\\hydroflow\\target\\debug\\build\\libz-sys-70d2e91a1e33f430\\out\\lib" "/LIBPATH:F:\\Projects\\hydroflow\\target\\debug\\build\\libz-sys-70d2e91a1e33f430\\out\\lib" "/LIBPATH:F:\\Projects\\hydroflow\\target\\debug\\build\\ring-612246a69f22c61f\\out" "/LIBPATH:D:\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.53.0\\lib" "/OUT:F:\\Projects\\hydroflow\\target\\debug\\deps\\hydro_deploy-6fb3a3162701b4fd.exe" "/OPT:REF,NOICF" "/DEBUG" "/PDBALTPATH:%_PDB%" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:<sysroot>\\lib\\rustlib\\etc\\libstd.natvis"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: rust-lld: error: duplicate symbol: crc32␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\crc32.c:1016␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-crc32.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: crc32_combine␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\crc32.c:1029␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-crc32.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: adler32␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\adler32.c:128␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-adler32.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: adler32_combine␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\adler32.c:158␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-adler32.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: uncompress␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\uncompr.c:83␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-uncompr.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflate␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:590␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateEnd␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1266␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateBackInit_␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\infback.c:27␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-infback.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateBack␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\infback.c:243␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-infback.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateBackEnd␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\infback.c:621␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-infback.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateCopy␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1439␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateMark␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1510␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateSync␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1375␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateSyncPoint␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1431␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateInit_␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:219␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateInit2_␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:179␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflatePrime␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:223␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateReset␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:130␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateReset2␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:141␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: duplicate symbol: inflateSetDictionary␍
          >>> defined at D:\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\libz-sys-1.1.19\src\zlib\inflate.c:1299␍
          >>>            liblibz_sys-79931f388a357a82.rlib(f0389296f42960e9-inflate.o)␍
          >>> defined at liblibz_rs_sys-917737c2d13c5fa2.rlib(libz_rs_sys-917737c2d13c5fa2.libz_rs_sys.1b0108f55cc9e3dd-cgu.0.rcgu.o)␍
          ␍
          rust-lld: error: too many errors emitted, stopping now (use /errorlimit:0 to see all errors)␍


error: could not compile `hydro_deploy` (lib test) due to 1 previous error
bisect

searched nightlies: from nightly-2025-03-10 to nightly-2025-04-14
regressed nightly: nightly-2025-04-06
searched commit range: https://github.com/rust-lang/rust/compare/17ffbc81a30c094193836a5d7f90dff273b5df93...5e17a2a91dd7dbefd8b4a1087c2e42257457deeb
regressed commit: https://github.com/rust-lang/rust/commit/0e9c3e52e492c9edacae96feb8deeb1695731273

bisected with cargo-bisect-rustc v0.6.9

Host triple: x86_64-pc-windows-msvc
Reproduce with:

cargo bisect-rustc --start=2025-03-10 --end=2025-04-14 -- test -p hydro_deploy
cargo.lock snippet
[[package]]
name = "libssh2-sys"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee"
dependencies = [
 "cc",
 "libc",
 "libz-sys",
 "openssl-sys",
 "pkg-config",
 "vcpkg",
]

[[package]]
name = "libz-rs-sys"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "902bc563b5d65ad9bba616b490842ef0651066a1a1dc3ce1087113ffcb873c8d"
dependencies = [
 "zlib-rs",
]

[[package]]
name = "libz-sys"
version = "1.1.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647"
dependencies = [
 "cc",
 "libc",
 "pkg-config",
 "vcpkg",
]
Code

I don't have a MRE at this time, code is here: https://github.com/hydro-project/hydro/tree/lld-error-2025-04

Only building via cargo test fails, cargo build succeeds:

cargo test -p hydro_deploy

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the failure on a latest nightly for x86_64-pc-windows-msvc using tests that depend on libz-sys, then inspect the linker inputs containing libz-sys and libz_rs_sys. Done means those tests link successfully without duplicate crc32 or related symbols.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.