bazelbuild / bazelbuild/rules_java

src/main/tools/process-wrapper-legacy.cc:80: "execvp(external/rules_java++toolchains+remote_java_tools_linux/java_tools/turbine_direct_graal, ...)": No such file or directory

Aperta
#325 8 commenti 0 reazioni 0 assegnatari Vedi su GitHub
P3
Lingua principale
Starlark
Stelle
103
Fork
102
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

https://github.com/bazel-contrib/rules_jvm_external/issues/1451 follow-up,

but this time in the right project repo (hopefully) - if I understand correctly?

In https://github.com/enola-dev/enola/issues/1730#issuecomment-3390839018,

where I'm having (too much...) fun with running a Bazel Java build inside a reproducible [Nix](https://nixos.org) package "derivation" build,

when running `nix run .` on https://github.com/enola-dev/enola/pull/1873/files, the @dotdoom and me are running into:

`ERROR: /build/home/.cache/bazel/_bazel_nixbld/c122cde4e9cdfc8e96d0ecdf2a867384/external/rules_jvm_external+/private/tools/java/com/github/bazelbuild/rules_jvm_external/BUILD:3:13: Compiling Java headers external/rules_jvm_external+/private/tools/java/com/github/bazelbuild/rules_jvm_external/librules_jvm_external-hjar.jar (3 source files) [for tool] failed: (Exit 1): turbine_direct_graal failed: error executing Turbine command (from target @@rules_jvm_external+//private/tools/java/com/github/bazelbuild/rules_jvm_external:rules_jvm_external) external/rules_java++toolchains+remote_java_tools_linux/java_tools/turbine_direct_graal '-Dturbine.ctSymPath=external/rules_java++toolchains+local_jdk/lib/ct.sym' --output ... (remaining 30 arguments skipped)`

`Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
src/main/tools/process-wrapper-legacy.cc:80: "execvp(external/rules_java++toolchains+remote_java_tools_linux/java_tools/turbine_direct_graal, ...)": No such file or directory`

Do you have any suggestions on what could be causing this, and how to fix it?

Note that this [Nix](https://nixos.org) package "derivation" build is a restricted sandbox, with a controlled PATH,

within which we run `bazel build --vendor_dir=...`

I'm struggling to fully grasp what the error message above is trying to tell us.

Surely, whatever exactly that `turbine_direct_graal` binary is "available"? It's presumably something from `rules_java`, right?

That _"No such file or directory"_ more likely means... like, what? It's perhaps missing a dynamically linked library that it depends on? That may well be missing in that restrictive Nix sandbox environment. Wouldn't it be simpler to make that binary statically linked? (If this is even the root cause; I'm a little bit out of my depth here.)

@meteorcloudy @cushon @fmeum perhaps you have thoughts about this.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da src/main/tools/process-wrapper-legacy.cc:80 e riproduci il fallimento con il comando bazel build --vendor_dir=... indicato all'interno della sandbox con derivazione Nix limitata. Usa --sandbox_debug per ispezionare la root di build conservata e determinare perché turbine_direct_graal non può essere eseguito. Il lavoro è completato quando vengono documentati la causa principale e un fix appropriato per questo ambiente.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
build-system
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.