Skip to content

Having rust-analyzer open causes linker errors for pyo3 #9932

@mejrs

Description

@mejrs

When compiling pyo3 having rust-analyzer open causes the build to fail.

I can reliably reproduce this by just opening vscode, letting rust analyzer run whatever it does on start, and then trying cargo test in another terminal. Closing vscode or disabling rust-analyzer fixes this issue.

Error message

PS C:\Users\bruno\rust\pyo3> cargo test
   Compiling pyo3-build-config v0.14.2 (C:\Users\bruno\rust\pyo3\pyo3-build-config)
   Compiling pyo3-macros-backend v0.14.2 (C:\Users\bruno\rust\pyo3\pyo3-macros-backend)
   Compiling pyo3 v0.14.2 (C:\Users\bruno\rust\pyo3)
   Compiling pyo3-macros v0.14.2 (C:\Users\bruno\rust\pyo3\pyo3-macros)
error: linking with `link.exe` failed: exit code: 1201
  |
  = note: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.25.28610\\bin\\HostX64\\x64\\link.exe" "/DEF:C:\\Users\\bruno\\AppData\\Local\\Temp\\rustcyt6mCk\\lib.def" "/NOLOGO" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.10w5m3jfg09mphew.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.12atyo2j85fkq7cn.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.18483pet6oorfcaf.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.1b3gl59olbl078rv.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.1m516po019l0b1r0.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.1wyuuzmii0z3mba5.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.22w8l3o2n1cmns6e.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.267j86se45yb1fvv.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.28wp4el970y0e33h.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2bavf68ka8l7oan1.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2bex68l6ix2kiofz.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2gi9orfha1rolc6d.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2k56a8e75mrlw5yq.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2qmuwrycwz70sd3r.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2qzdjvbv7hajpo6c.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2r0fy647j9b3hqtk.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.2t34msl2e3ek8yj3.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.323b3zme49dll2dm.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.32d21jzu6bo79or2.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.32smgizh9mxo6roh.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.32t8a1mf2ij8lkcc.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.37df7aase994kf15.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.3gnt06ozs9hmjt2d.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.3oruw5wrjrsvh5ec.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.3tmz0o8r8aco6sqy.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.43z145u4nglohhs4.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.46wbd82zqw72aj7e.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.4g9xnpwh2vjmi7jf.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.4xumjuzdihsg8ooi.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.514kzbey4lomdmw2.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.514m8ci3mrny103g.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.56aothl0zz1nzas0.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.57dal3gkx80gusjc.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.5y99v0txi0lz2gl.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.9h80lnnnvctvzip.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.f3le6jgmclil3yz.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.pw3alhz0cjjtz8j.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.zqpuu5wupl9fsb5.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.3plen2l1azk7e7wv.rcgu.o" "C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.26n76gurlhdmqadw.rcgu.o" "/LIBPATH:C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps" "/LIBPATH:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libpyo3_macros_backend-abe1702ae06f2fcc.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libpyo3_build_config-7e1685a275eab5ab.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libonce_cell-9a97b8357599c0b9.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libsyn-e55518d63704e3dd.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libquote-8e69fd11733a9ec9.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libproc_macro2-8ce88383efc71c4a.rlib" "C:\\Users\\bruno\\Rust\\pyo3\\target\\debug\\deps\\libunicode_xid-93f2aaaeab33b3e4.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libproc_macro-cf4b0cc3ea285d94.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-stlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-65e73515f6680323.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-f8cff8d9bd7840ad.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-fe60ba8a15823ad7.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-cf86dd7881d3c2f9.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-43c65575cdb9db58.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-b6defdcc73190cb\\x86_64-pc-windows-msvc\\lib\\liblibc-29274e913e0d2be1.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-628c6d389039a057.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-5253a24e114dde59.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-230e4a83f184a187.rlib" "C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-d4faa97442f81921.rlib" "kernel32.lib" "ws2_32.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.dll" "/OPT:REF,NOICF" "/DLL" "/IMPLIB:C:\\Users\\bruno\\rust\\pyo3\\target\\debug\\deps\\pyo3_macros-d7af52fdb111651f.dll.lib" "/DEBUG" "/NATVIS:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\bruno\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis"
  = note: LINK : fatal error LNK1201: error writing to program database 'C:\Users\bruno\rust\pyo3\target\debug\deps\pyo3_macros-d7af52fdb111651f.pdb'; check for insufficient disk space, invalid path, or insufficient privilege


error: could not compile `pyo3-macros` due to previous error

PS C:\Users\bruno\rust\pyo3> cargo clean
error: could not remove build directory

Caused by:
  failed to remove file `C:\Users\bruno\rust\pyo3\target\debug\deps\pyo3_macros-d7af52fdb111651f.pdb`

Caused by:
  Access is denied. (os error 5)

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-macromacro expansionC-bugCategory: bugS-blockedStatus: marked as blocked ❌ on something else such as an RFC or other implementation work.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions