RFR: 8332872: SetupExecute should cd to temp directory
Magnus Ihse Bursie
ihse at openjdk.org
Fri Sep 5 15:42:26 UTC 2025
On Thu, 4 Sep 2025 15:34:45 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
> Some commands create junk files all around in the current directory. We should change directory to a special working dir (typically the support dir) in SetupExecute, before running any command.
Honestly, the Windows build failures baffles me:
* For target support_images_jmods__create_java.datatransfer.jmod_exec:
Error: file already exists: _create_java.compiler.jmod_pre.marker
* For target support_images_jmods__create_java.desktop.jmod_exec:
Error: file already exists: _create_java.compiler.jmod_pre.marker
* For target support_images_jmods__create_java.instrument.jmod_exec:
Error: file already exists: _create_java.compiler.jmod_pre.marker
* For target support_images_jmods__create_java.logging.jmod_exec:
Error: file already exists: _create_java.compiler.jmod_pre.marker
I could reproduce it locally, but that did not make it better. Just trying to build any individual jmod (e.g. `make java.instrument-jmod`) ended up in the `Error: file already exists: _create_<SOME OTHER MOD>.jmod_pre.marker`, where `<SOME OTHER MOD>` is the name of another mod that had been previously processed. This is not passed into CreateJmod.gmk; it seems make, or something we call from make, looks through the directory and finds existing files. I could not for my life understand why or how, not even exactly what was generating the "file already exists" error, nor what was provoking it. After spending too much time on it, I concluded it is likely a make for Windows bug, and decided to work around it instead.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27103#issuecomment-3258122013
More information about the build-dev
mailing list