Windows: rustc_codegen_nvvm fails to load due to missing nvvm64_40_0.dll in PATH
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 35/100
Rechercherichtung
Reproduziere den Fehler mit cargo build aus examples/cuda/vecadd und untersuche dessen build.rs-Aufruf von rustc_codegen_nvvm. Prüfe, wie der Windows-Prozess nvvm64_40_0.dll findet und ob der nvvm/bin PATH workaround erwartet wird. Als erledigt gilt die Aufgabe, wenn der Windows-Build das Backend zuverlässig lädt, ohne eine nicht dokumentierte manuelle Umgebungsänderung.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I noticed rustc_codegen_nvvm is yapping on Windows:
error: failed to run custom build command for `vecadd v0.1.0 (F:\Git\github.com\rust-gpu\Rust-CUDA\examples\cuda\vecadd)`
Caused by:
process didn't exit successfully: `F:\Git\github.com\rust-gpu\Rust-CUDA\target\debug\build\vecadd-06fc7e2d750a3fd2\build-script-build` (exit code: 101)
--- stdout
cargo::rerun-if-changed=build.rs
cargo::rerun-if-changed=kernels
cargo:rerun-if-changed=F:\Git\github.com\rust-gpu\Rust-CUDA\examples\cuda\vecadd\kernels
--- stderr
error: failed to run `rustc` to learn about target-specific information
Caused by:
process didn't exit successfully: `sccache C:\Users\steve\scoop\persist\rustup\.rustup\toolchains\nightly-2025-03-02-x86_64-pc-windows-msvc\bin\rustc.exe - --crate-name ___ --print=file-names -Zcodegen-backend=F:\Git\github.com\rust-gpu\Rust-CUDA\target\debug\deps\rustc_codegen_nvvm.dll -Zcrate-attr=feature(register_tool) -Zcrate-attr=register_tool(nvvm_internal) -Zcrate-attr=no_std -Zsaturating_float_casts=false "-Cllvm-args=-arch=compute_61 --override-libm" --target nvptx64-nvidia-cuda --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=split-debuginfo --print=crate-name --print=cfg -Wwarnings` (exit code: 1)
--- stderr
error: couldn't load codegen backend \\?\F:\Git\github.com\rust-gpu\Rust-CUDA\target\debug\deps\rustc_codegen_nvvm.dll: LoadLibraryExW failed: The specified module could not be found. (os error 126) (The specified module could not be found. (os error 126)) (retried 5 times)
Then I noticed nvvm64_40_0.dll maybe missing:
Indeed, adding nvvm folder to the PATH env fixed it:
$env:PATH += ";C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9\nvvm\bin"
PS> cargo build
// just works
- Vorherrschende Sprache
- Rust
- Sterne
- 5.4k
- Forks
- 251
- Ø Merge
- 30 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Startet den Dev-Container des Projekts im Browser, mit Ihrem eigenen GitHub-Konto.
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Rust-GPU/rust-cuda
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Default NvvmArch::Compute75 silently produces InvalidPtx on pre-Turing GPUs (Pascal/Maxwell/Volta)Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
-
A `#[address_space(shared)]` static is stored with a generic `st.u32` instead of `st.shared`, corrupting memory — two identically-declared siblings lower differentlyEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
-
Array parameters lose alignment metadata and ICE on >16 byte alignmentsEvtl. vergeben @Snehal-Reddy hat das vor 177 Tagen übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
Alle Issues in Rust-GPU/rust-cuda
Ähnliche Issues
-
bug easy good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
lacs-project/sysknife#659 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
E_FIT_INPUT_MISSING (mixture overrides): the message says ferx-r bundles lack mixture_overridesOffenP3
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 83/100
Maintainer antworten meist innerhalb von 1 Tag
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
registrystack/registry-stack#2431 ·
Maintainer antworten meist innerhalb von 1 Tag
-
contribution
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
farion1231/cc-switch#8863 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag