Rust-GPU / Rust-GPU/rust-gpu

$CARGO_MANIFEST_DIR "leakage" (used at runtime) due to target-specs vendoring.

Offen
#22 5 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug
Vorherrschende Sprache
Rust
Sterne
3.4k
Forks
126
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I cant keep rust-gpu updated for my projects since this commit

Example & Steps To Reproduce

I have made a minimal example to demonstrate

nix run github:abel465/rust-gpu-nixos-example/b117267d254310df77e69debde9e510ed193ff56

The shader builds just fine for the above command. it uses this version of rust-gpu

> nix run github:abel465/rust-gpu-nixos-example/6c9e2ca63da09ab1d119a06a596cd41f84255876
cargo:rerun-if-env-changed=RUSTGPU_CODEGEN_ARGS
cargo:rerun-if-env-changed=RUSTGPU_RUSTFLAGS
error: target path "/build/cargo-vendor-dir/spirv-builder-0.9.0/target-specs/spirv-unknown-vulkan1.1.json" is not a valid file

Caused by:
  No such file or directory (os error 2)
thread 'main' panicked at runner/src/main.rs:17:42:
called `Result::unwrap()` on an `Err` value: BuildFailed
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

The above command is the same except it uses the next commit of rust-gpu which seems to hard code CARGO_MANIFEST_DIR into the binary. This is problematic because the build environment is no longer available during runtime with nix

System Info

  • Rust: 1.78.0-nightly (3b1717c05 2024-03-10)

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das in Commit 775b5d5 eingeführte Verhalten mit der funktionierenden Version 40456ae zu vergleichen, wobei du dich auf runner/src/main.rs und den im Reproduktionsbeispiel gezeigten target-specs-Pfad konzentrierst. Führe die beiden nix-Befehle aus dem Issue aus; abgeschlossen ist die Aufgabe, wenn der vendored Shader gebaut wird, ohne auf den nicht verfügbaren build-environment-Pfad angewiesen zu sein.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
build-system, compilers
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.