Skip to content

Windows python3.14t builds fail with linking error #2630

@ngoldbaum

Description

@ngoldbaum

Bug Description

When I try to build cramjam with python3.14t.exe -m maturin build -i python3.14t --release --out wheels, I get a linker error LINK : fatal error LNK1181: cannot open input file 'python314t.lib'␍:

   Compiling cramjam-python v2.11.0-rc3 (C:\Users\goldbaum\cramjam)
   Compiling unindent v0.2.3
   Compiling indoc v2.0.5
   Compiling zstd v0.13.3
   Compiling libcramjam v0.7.0
   Compiling xz2 v0.1.7
error: linking with `link.exe` failed: exit code: 1181
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\bin\\HostX64\\x64\\link.exe" "/DEF:C:\\Users\\goldbaum\\AppData\\Local\\Temp\\rustcbnE5vw\\lib.def" "/NOLOGO" "C:\\Users\\goldbaum\\AppData\\Local\\Temp\\rustcbnE5vw\\symbols.o" "<1 object files omitted>" "C:\\Users\\goldbaum\\AppData\\Local\\Temp\\rustcbnE5vw/{libzstd_sys-c2f052cda89bc12a.rlib,liblzma_sys-75d32fed32b16254.rlib,liblz4_sys-98bef6546a68a6a8.rlib,liblibdeflate_sys-8f9adf781ba557ae.rlib,libbzip2_sys-c4099800bb10a76b.rlib,libstd-02295aa7264c5c18.rlib}.rlib" "<sysroot>\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib/{libcompiler_builtins-*}.rlib" "python314t.lib" "legacy_stdio_definitions.lib" "kernel32.lib" "kernel32.lib" "advapi32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "dbghelp.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\release\\build\\bzip2-sys-7435e1b6f435adae\\out\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\release\\build\\libdeflate-sys-5789bd06ea250eaf\\out\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\release\\build\\lz4-sys-0154ef3db98ce326\\out" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\release\\build\\lzma-sys-367da29b760a5647\\out" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\release\\build\\zstd-sys-67b32ca4697c6dd1\\out" "/OUT:C:\\Users\\goldbaum\\cramjam\\target\\release\\deps\\cramjam.dll" "/OPT:REF,ICF" "/DLL" "/IMPLIB:C:\\Users\\goldbaum\\cramjam\\target\\release\\deps\\cramjam.dll.lib" "/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: LINK : fatal error LNK1181: cannot open input file 'python314t.lib'␍


error: could not compile `cramjam-python` (lib) due to 1 previous error
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit code: 101": `"cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "C:\\Users\\goldbaum\\cramjam\\Cargo.toml" "--release" "--lib" "--" "-C" "strip=symbols"`

See also this CI run where I originally hit this. The report is from me reproducing this on my Windows development environment.

Your maturin version (maturin --version)

1.8.6

Your Python version (python -V)

3.14.0b2t

Your pip version (pip -V)

25.1.1

What bindings you're using

pyo3

Does cargo build work?

  • Yes, it works

If on windows, have you checked that you aren't accidentally using unix path (those with the forward slash /)?

  • Yes

Steps to Reproduce

PS C:\Users\goldbaum\cramjam> python3.14t.exe -m maturin build -i python3.14t
2025-06-03T15:58:44.700765Z  INFO into_build_context: maturin::build_options: close time.busy=2.10µs time.idle=9.90µs
2025-06-03T15:58:44.701197Z DEBUG maturin::project_layout: Found pyproject.toml in working directory at "C:\\Users\\goldbaum\\cramjam\\pyproject.toml"
2025-06-03T15:58:44.701906Z DEBUG maturin::project_layout: Using cargo manifest path from working directory: "C:\\Users\\goldbaum\\cramjam\\Cargo.toml"
2025-06-03T15:58:44.702625Z DEBUG resolve_cargo_metadata: maturin::project_layout: Resolving cargo metadata from "C:\\Users\\goldbaum\\cramjam\\Cargo.toml"
2025-06-03T15:58:44.890942Z  INFO resolve_cargo_metadata: maturin::project_layout: close time.busy=188ms time.idle=1.20µs
2025-06-03T15:58:44.892661Z DEBUG maturin::project_layout: Project layout resolved project_root=C:\Users\goldbaum\cramjam python_dir=C:\Users\goldbaum\cramjam rust_module=C:\Users\goldbaum\cramjam\cramjam python_module=Some("C:\\Users\\goldbaum\\cramjam\\cramjam") extension_name=cramjam module_name=cramjam
🔗 Found pyo3 bindings
2025-06-03T15:58:44.893801Z DEBUG maturin::build_options: Resolved bridge model: PyO3(PyO3 { crate_name: pyo3, version: Version { major: 0, minor: 25, patch: 0 }, abi3: None, metadata: Some(PyO3Metadata { cpython: PyO3VersionMetadata { min_minor: 7, max_minor: 14 }, pypy: PyO3VersionMetadata { min_minor: 9, max_minor: 11 } }) })
⚠️  Warning: Failed to determine python platform
2025-06-03T15:58:45.183085Z  INFO check_executable: maturin::python_interpreter: close time.busy=209ms time.idle=1.80µs executable=python3.14t
2025-06-03T15:58:45.183303Z DEBUG maturin::build_options: Found CPython 3.14 in bundled sysconfig
🐍 Found CPython 3.14t
2025-06-03T15:58:45.184515Z DEBUG build_wheels: maturin::compile: Running "cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "C:\\Users\\goldbaum\\cramjam\\Cargo.toml" "--lib" "--" "-C" "strip=symbols"
warning: C:\Users\goldbaum\cramjam\Cargo.toml: unused manifest key: metadata
   Compiling pyo3-build-config v0.25.0
   Compiling pyo3-ffi v0.25.0
   Compiling pyo3-macros-backend v0.25.0
   Compiling pyo3 v0.25.0
   Compiling cramjam-python v2.11.0-rc3 (C:\Users\goldbaum\cramjam)
   Compiling pyo3-macros v0.25.0
error: linking with `link.exe` failed: exit code: 1181
  |
  = note: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\bin\\HostX64\\x64\\link.exe" "/DEF:C:\\Users\\goldbaum\\AppData\\Local\\Temp\\rustcGKk37c\\lib.def" "/NOLOGO" "C:\\Users\\goldbaum\\AppData\\Local\\Temp\\rustcGKk37c\\symbols.o" "<257 object files omitted>" "C:\\Users\\goldbaum\\cramjam\\target\\debug\\deps/{liblibcramjam-4d3d3f262966a545.rlib,libzstd-5e6b8b10f725a73c.rlib,libzstd_safe-58504fb35bb006aa.rlib,libzstd_sys-d228913a84f50bff.rlib,libxz2-dfccef3c03a45330.rlib,liblzma_sys-d8bfb718eed49b1e.rlib,libsnap-c9ed6eb7823809b1.rlib,liblz4-261c225e70487ca0.rlib,liblz4_sys-0d37587cca71769b.rlib,liblibdeflater-b8da00cda927810a.rlib,liblibdeflate_sys-a2d0f18012f906b7.rlib,libflate2-56c97061e7bf12bd.rlib,libminiz_oxide-069cd33efad23d6c.rlib,libadler2-a21527c079e7a3d7.rlib,libcrc32fast-cbc9deba3648d960.rlib,libcfg_if-885ced7a34e6dac7.rlib,libbzip2-d171d40f442a7a49.rlib,libbzip2_sys-4a355e6dcf630435.rlib,libbrotli-00d31731a95b92bc.rlib,libbrotli_decompressor-022d40ed731524c5.rlib,liballoc_stdlib-c73d438c55d7873a.rlib,liballoc_no_stdlib-3b02cb65baf29aa9.rlib,libpyo3-11dfeb126147c64a.rlib,libmemoffset-bfea8f8ba537ab95.rlib,libonce_cell-49c14ec87abd9254.rlib,libpyo3_ffi-04df6da815e5fdd9.rlib,liblibc-dd8b773aee54a969.rlib,libunindent-26409f0361bc6607.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" "python314t.lib" "legacy_stdio_definitions.lib" "kernel32.lib" "kernel32.lib" "advapi32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "dbghelp.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\debug\\build\\bzip2-sys-288cabfbebb602c4\\out\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\debug\\build\\libdeflate-sys-967202588a168500\\out\\lib" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\debug\\build\\lz4-sys-4d497e3431294998\\out" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\debug\\build\\lzma-sys-233afd9333a369ec\\out" "/LIBPATH:C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.43.34808\\atlmfc\\lib\\x64" "/LIBPATH:C:\\Users\\goldbaum\\cramjam\\target\\debug\\build\\zstd-sys-707c119949b420d4\\out" "/OUT:C:\\Users\\goldbaum\\cramjam\\target\\debug\\deps\\cramjam.dll" "/OPT:REF,NOICF" "/DLL" "/IMPLIB:C:\\Users\\goldbaum\\cramjam\\target\\debug\\deps\\cramjam.dll.lib" "/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: LINK : fatal error LNK1181: cannot open input file 'python314t.lib'␍


error: could not compile `cramjam-python` (lib) due to 1 previous error
2025-06-03T15:58:56.574522Z  INFO build_wheels: maturin::build_context: close time.busy=11.4s time.idle=1.30µs
💥 maturin failed
  Caused by: Failed to build a native library through cargo
  Caused by: Cargo build finished with "exit code: 101": `"cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "C:\\Users\\goldbaum\\cramjam\\Cargo.toml" "--lib" "--" "-C" "strip=symbols"`

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions