Skip to content

Windows linker error when compiling with cargo test #1190

@jiricekcz

Description

@jiricekcz

Problem

When compiling a crate in test environment (cargo test) on windows, crate fails to compile.

Environment

OS: Windows 11 Pro 24H2 26100.4946
Arch: x64
Rust toolchain: stable-x86_64-pc-windows-msvc (also attempted with nightly-x86_64-pc-windows-msvc - same issue)
V8_FROM_SOURCE=0
VS Build Tools: 2022 17.14.13
deno_core version = 0.357.0
Windows Security Real-time protection: disabled
Other software accessing crate directory (IDE, indexer,...): nothing I am aware of
Full system restart: didn't solve the issue

How to reproduce

Prepare crate

cargo new reproduce_err
cd reproduce_err
cargo add deno_core

change src/main.rs to

use deno_core;

fn main() {
    println!("Hello, world!");
}

then run

cargo test

produces:

...
LINK : fatal error LNK1318: Unexpected PDB error; LIMIT (12)
...

Expected behavior

Compile the same as when building using cargo build.

What works

  • use deno_core=0.356.0
  • compile on Linux
  • compile using cargo build

Full cargo test output

PS D:\...\reproduce_err> cargo test
   Compiling proc-macro2 v1.0.101
   Compiling serde v1.0.219
   Compiling icu_properties_data v2.0.1
   Compiling icu_normalizer_data v2.0.0
   Compiling lock_api v0.4.13
   Compiling clang-sys v1.8.1
   Compiling libm v0.2.15
   Compiling parking_lot_core v0.9.11
   Compiling num-traits v0.2.19
   Compiling prettyplease v0.2.37
   Compiling indexmap v2.11.1
   Compiling libc v0.2.175
   Compiling icu_locale_data v2.0.0
   Compiling icu_calendar_data v2.0.0
   Compiling regex-automata v0.4.10
   Compiling crc32fast v1.5.0
   Compiling winapi v0.3.9
   Compiling serde_json v1.0.143
   Compiling rustc-hash v2.1.1
   Compiling itertools v0.13.0
   Compiling combine v4.6.7
   Compiling strck v1.0.0
   Compiling windows_x86_64_msvc v0.52.6
   Compiling windows_x86_64_msvc v0.53.0
   Compiling nom v7.1.3
   Compiling thiserror v2.0.16
   Compiling winsafe v0.0.19
   Compiling futures-sink v0.3.31
   Compiling bitflags v2.9.4
   Compiling shlex v1.3.0
   Compiling log v0.4.28
   Compiling adler2 v2.0.1
   Compiling smallvec v1.15.1
   Compiling futures-core v0.3.31
   Compiling regex v1.11.2
   Compiling futures-task v0.3.31
   Compiling windows-targets v0.52.6
   Compiling windows-targets v0.53.3
   Compiling pin-utils v0.1.0
   Compiling futures-io v0.3.31
   Compiling radium v0.7.0
   Compiling slab v0.4.11
   Compiling cexpr v0.6.0
   Compiling jiff-tzdb v0.1.4
   Compiling paste v1.0.15
   Compiling heck v0.5.0
   Compiling tap v1.0.1
   Compiling rand_core v0.6.4
   Compiling once_cell v1.21.3
   Compiling diplomat-runtime v0.12.0
   Compiling quote v1.0.40
   Compiling tzif v0.4.0
   Compiling az v1.2.1
   Compiling bindgen v0.72.1
   Compiling windows-sys v0.59.0
   Compiling libloading v0.8.8
   Compiling core_maths v0.1.1
   Compiling futures-channel v0.3.31
   Compiling miniz_oxide v0.8.9
   Compiling gzip-header v1.0.0
   Compiling wyz v0.5.1
   Compiling vsimd v0.8.0
   Compiling outref v0.5.2
   Compiling rand v0.8.5
   Compiling anyhow v1.0.99
   Compiling uuid v1.18.1
   Compiling funty v2.0.0
   Compiling bit-vec v0.8.0
   Compiling syn v2.0.106
   Compiling stringcase v0.4.0
   Compiling if_chain v1.0.3
   Compiling unicode-id-start v1.3.1
   Compiling data-encoding v2.9.0
   Compiling static_assertions v1.1.0
   Compiling deno_core_icudata v0.74.0
   Compiling cooked-waker v5.0.0
   Compiling parking_lot v0.12.4
   Compiling bit-set v0.8.0
   Compiling base64-simd v0.8.0
   Compiling num-integer v0.1.46
   Compiling fslock v0.2.1
   Compiling home v0.5.11
   Compiling socket2 v0.6.0
   Compiling mio v1.0.4
   Compiling synstructure v0.13.2
   Compiling displaydoc v0.2.5
   Compiling zerovec-derive v0.11.1
   Compiling serde_derive v1.0.219
   Compiling tokio-macros v2.5.0
   Compiling thiserror-impl v2.0.16
   Compiling futures-macro v0.3.31
   Compiling deno_error_macro v0.7.0
   Compiling strum_macros v0.27.2
   Compiling proc-macro-rules-macros v0.4.0
   Compiling sys_traits_macros v0.1.0
   Compiling capacity_builder_macros v0.3.0
   Compiling pin-project-internal v1.1.10
   Compiling boxed_error v0.2.3
   Compiling which v6.0.3
   Compiling num-bigint v0.4.6
   Compiling bitvec v1.0.1
   Compiling capacity_builder v0.5.0
   Compiling sys_traits v0.1.17
   Compiling zerofrom-derive v0.1.6
   Compiling yoke-derive v0.8.0
   Compiling tokio v1.47.1
   Compiling calendrical_calculations v0.2.2
   Compiling ixdtf v0.6.3
   Compiling proc-macro-rules v0.4.0
   Compiling futures-util v0.3.31
   Compiling pin-project v1.1.10
   Compiling zerofrom v0.1.6
   Compiling strum v0.27.2
   Compiling yoke v0.8.0
   Compiling deno_ops v0.233.0
   Compiling zerovec v0.11.4
   Compiling zerotrie v0.2.2
   Compiling tinystr v0.8.1
   Compiling potential_utf v0.1.3
   Compiling icu_collections v2.0.0
   Compiling icu_locale_core v2.0.0
   Compiling timezone_provider v0.0.14
   Compiling futures-executor v0.3.31
   Compiling futures v0.3.31
   Compiling icu_provider v2.0.0
   Compiling icu_normalizer v2.0.0
   Compiling icu_properties v2.0.1
   Compiling icu_locale v2.0.0
   Compiling deno_unsync v0.4.4
   Compiling diplomat_core v0.12.1
   Compiling debugid v0.8.0
   Compiling bincode v1.3.3
   Compiling idna_adapter v1.2.1
   Compiling v8 v140.0.0
   Compiling idna v1.1.0
   Compiling icu_calendar v2.0.5
   Compiling url v2.5.7
   Compiling deno_error v0.7.0
   Compiling sourcemap v9.2.2
   Compiling temporal_rs v0.0.11
   Compiling deno_path_util v0.6.1
   Compiling wasm_dep_analyzer v0.4.0
   Compiling diplomat v0.12.0
   Compiling ry_temporal_capi v0.0.11-ry.1
   Compiling serde_v8 v0.266.0
   Compiling deno_core v0.357.0
   Compiling reproduce_err v0.1.0 (D:\...\reproduce_err)
warning: unused import: `deno_core`
 --> src\main.rs:1:5
  |
1 | use deno_core;
  |     ^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

error: linking with `link.exe` failed: exit code: 1318
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.44.35207\\bin\\HostX64\\x64\\link.exe" "/NOLOGO" "C:\\Users\\...\\AppData\\Local\\Temp\\rustcJQRhOa\\symbols.o" "<6 object files omitted>" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib/{libtest-*,libgetopts-*,libunicode_width-*,librustc_std_workspace_std-*}.rlib" "D:\\...\\reproduce_err\\target\\debug\\deps/{libdeno_core-54314ccbf2414ee5.rlib,libbincode-df39cb3a000591e0.rlib,libdeno_core_icudata-7f2720fb0fed62e5.rlib,libaz-3d5fb3fdb29b0317.rlib,libstatic_assertions-612190b45c082f90.rlib,libdeno_path_util-ee5f833639132fe4.rlib,libsys_traits-92b61be7d0a6ba05.rlib,libanyhow-7768eebda98c244c.rlib,libcooked_waker-78cf1def0dc39406.rlib,libsourcemap-4128feacf6f03ec2.rlib,libbase64_simd-905449778f2297e0.rlib,liboutref-d586b11b03c30c20.rlib,libvsimd-c7c1de4b39293da5.rlib,libunicode_id_start-acd5d5a99125cf0f.rlib,libdata_encoding-7d3c529dbf7c0fff.rlib,libif_chain-9dcb135134030521.rlib,libbitvec-16d6e24193e7f62f.rlib,libwyz-086f6acfed531796.rlib,libtap-f734bf76cfde998c.rlib,libradium-23f290e5799d280b.rlib,libfunty-1a2f2c7fbb7bcf21.rlib,librustc_hash-d621b9c3cc723feb.rlib,libdebugid-3a8b4daf1cd70bd6.rlib,libuuid-1361ad057266174d.rlib,liblibc-3a18e6fb6f4c3d67.rlib,libdeno_unsync-907c011722fb72e6.rlib,libwasm_dep_analyzer-9ffcfb50a2c722d9.rlib,libserde_v8-8374252416d87fed.rlib,libnum_bigint-028501cff6b40de1.rlib,librand-fe7fe724562e5df0.rlib,librand_core-7acb9fd09f8dcedd.rlib,libnum_integer-bce754a57f919f25.rlib,libcapacity_builder-ae642be90337b872.rlib,libthiserror-1f4941c5a56d49a7.rlib,libv8-9c5747ae9bdbad79.rlib,libtemporal_capi-11854a79dff74628.rlib,libdiplomat_runtime-7e9cba7ba09f7f93.rlib,libtemporal_rs-6d624ed847981efc.rlib,libjiff_tzdb-b30153cf84d4cc5f.rlib,libtzif-041f2ba7339a65b1.rlib,libtimezone_provider-9ee8b67c1e3ceac3.rlib,libcombine-7c58b169e775eb0a.rlib,libixdtf-337ca9f6399a3b3f.rlib,libicu_calendar-7c206d5fa637be88.rlib,libicu_locale-ee533d38ccc6e219.rlib,libicu_locale_data-315f3c88bdaedefc.rlib,libicu_calendar_data-44fd1b33d1dc55b2.rlib,libcalendrical_calculations-9241ab1bbe50c78b.rlib,libcore_maths-364de3b0fcce9c08.rlib,liblibm-c094bc53944490a0.rlib,libnum_traits-6f377a0e9a165417.rlib,libbitflags-0d90493cf4473707.rlib,libpin_project-9a9f5695959f626c.rlib,libfutures-f9aa3b6a00a67f6b.rlib,libfutures_executor-4ac305315d6b7999.rlib,libfutures_util-8fc564bb106771a3.rlib,libfutures_io-e09d37cdeedafd78.rlib,libslab-9cba390aaa768679.rlib,libfutures_channel-e2206ef880732d7b.rlib,libfutures_sink-ab0fe51e5e72acfb.rlib,libfutures_task-8002c1cb67d26b03.rlib,libpin_utils-8af04ec5b63c27a1.rlib,libfutures_core-61bfebcef8699335.rlib,libdeno_error-da46ba4827747f55.rlib,libtokio-3344bc3efafd2fa3.rlib,libsocket2-36c1b86e14018ebe.rlib,libbytes-4c1ef4090b46344f.rlib,libmio-1ab2e01060e2dc11.rlib,libwindows_sys-13ce5674e9b12e18.rlib,libpin_project_lite-2fa5e6199ff16a29.rlib,liburl-5d5f52f98ac85b1c.rlib,libidna-df55f7b4cdf6eb7b.rlib,libutf8_iter-9ce41dd9f6284acc.rlib,libidna_adapter-a32ef01fb5cda8d1.rlib,libicu_properties-1ddd7929a9a42cca.rlib,libicu_properties_data-e88fb9f81f6f4045.rlib,libicu_normalizer-d6a758bc154e0a68.rlib,libicu_normalizer_data-dd731fb040237e16.rlib,libicu_collections-fa3b3ed182b0f765.rlib,libpotential_utf-a54c6d0cd67b47ed.rlib,libicu_provider-e50fee1e39108ee8.rlib,libicu_locale_core-2962e34cdc219f86.rlib,libtinystr-2b345b3c1af35824.rlib,liblitemap-7964a0ba2001444b.rlib,libwriteable-34541ba59c2851d9.rlib,libzerovec-37c4078f2b3bd154.rlib,libzerotrie-0d8bf261448db246.rlib,libyoke-a18bf342212db9c6.rlib,libstable_deref_trait-a546d8c22d7180d5.rlib,libzerofrom-59599315171b3560.rlib,libform_urlencoded-cefc101ac87a3c90.rlib,libpercent_encoding-a6357bf6041443d2.rlib,libserde_json-8027901f03b997c7.rlib,libmemchr-8502202576b1263d.rlib,libryu-e02f504de2b32130.rlib,libitoa-234f3f64f0f0d5e2.rlib,libindexmap-7b9ef2658f43d3ff.rlib,libequivalent-bf69e0f47555a7c9.rlib,libhashbrown-aeac62b07e787895.rlib,libserde-803d17281c040c90.rlib,libparking_lot-f2b08c3cbce17454.rlib,libparking_lot_core-199e6f1b55600237.rlib,libwindows_targets-d97ed811d9fe28ef.rlib,libcfg_if-7db6d1876c432f35.rlib,libsmallvec-65ee5bc7c63c6872.rlib,liblock_api-155cf358e3a33df2.rlib,libscopeguard-ff96c909ded4fda5.rlib,libbit_set-efe832b6085f0483.rlib,libbit_vec-c4c1a1ed5c8b6419.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-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "kernel32.lib" "winmm.lib" "legacy_stdio_definitions.lib" "winmm.lib" "dbghelp.lib" "msvcprt.lib" "C:\\Users\\...\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib\\windows.0.52.0.lib" "C:\\Users\\...\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib\\windows.0.52.0.lib" "kernel32.lib" "kernel32.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "dbghelp.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:C:\\...\\.cargo\\registry\\src\\index.crates.io-1949cf8c6b5b557f\\windows_x86_64_msvc-0.52.6\\lib" "/LIBPATH:D:\\...\\reproduce_err\\target\\debug\\gn_out\\obj" "/OUT:D:\\...\\reproduce_err\\target\\debug\\deps\\reproduce_err-52f24656fca4cfec.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:    Creating library D:\...\reproduce_err\target\debug\deps\reproduce_err-52f24656fca4cfec.lib and object D:\...\reproduce_err\target\debug\deps\reproduce_err-52f24656fca4cfec.exp␍
          LINK : warning LNK4098: defaultlib 'libcmt.lib' conflicts with use of other libs; use /NODEFAULTLIB:library␍
          LINK : fatal error LNK1318: Unexpected PDB error; LIMIT (12) ''␍


warning: `reproduce_err` (bin "reproduce_err" test) generated 1 warning
error: could not compile `reproduce_err` (bin "reproduce_err" test) due to 1 previous error; 1 warning emitted

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions