bazelbuild / bazelbuild/rules_java

Windows: statically link msvcrt into Java Tools

Ouverte
#316 0 commentaires 2 réactions 0 personnes assignées Voir sur GitHub
P4
Langage dominant
Starlark
Étoiles
103
Forks
102
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Hi!

On Windows, the prebuilt tools in `remote_java_tools_windows` require the Microsoft VC++ Redistributable, for example:
```
external\rules_java++toolchains+remote_java_tools_windows\java_tools\ijar\ijar.exe
external\rules_java++toolchains+remote_java_tools_windows\java_tools\src\tools\singlejar\singlejar_local.exe
external\rules_java++toolchains+remote_java_tools_windows\java_tools\turbine_direct_graal.exe
```

Without the redist installed, these fail due to missing `msvcp140.dll`, `vcruntime140.dll`, `vcruntime140_1.dll` (exit code `-1073741515`).

Would it be possible link the MSVC runtime statically (i.e., `--features=static_link_msvcrt`) for these binaries, or ship the required VC++ runtime DLLs app‑local alongside the executables?

Related issue: https://github.com/bazelbuild/bazel/issues/8328.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by examining how the Windows binaries under remote_java_tools_windows are produced, especially ijar.exe, singlejar_local.exe, and turbine_direct_graal.exe. Reproduce the failure on a Windows machine without the Microsoft VC++ Redistributable, then verify that the chosen packaging or linking change lets all three tools run without those missing DLLs.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
build-system
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.