$CARGO_MANIFEST_DIR "leakage" (used at runtime) due to target-specs vendoring.
Nessuno ha ancora preso questa issue.
- Lingua principale
- Rust
- Stelle
- 3.4k
- Fork
- 125
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
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)
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia confrontando il comportamento introdotto nel commit 775b5d5 con la versione funzionante 40456ae, concentrandoti su runner/src/main.rs e sul percorso target-specs mostrato nella riproduzione. Esegui i due comandi nix dell’issue; il lavoro è concluso quando lo shader vendored viene compilato senza dipendere dal percorso build-environment non disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- build-system, compilers
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100