<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hello,</p>
<p>Building with --always-make seems like a bad idea and I would say
not recommended with the OpenJDK build. We try very hard to keep
the incremental build correct and reliable. While this particular
problem could be fixed, I wouldn't be surprised if there is more
build logic that relies on dependency evaluation to actually be
correct in our build. Are you sure you can't configure the plugin
to not add this parameter?</p>
<p>/Erik<br>
</p>
<div class="moz-cite-prefix">On 7/27/22 1:30 AM, Guoxiong Li wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAPSsVqj41KrTY_b46VVvceasCzYSBoTQvV90i7CEny=5ic_M8A@mail.gmail.com">
<div dir="ltr">
<div id="gmail-:2jk" class="gmail-Ar gmail-Au gmail-Ao">
<div id="gmail-:2jg" class="gmail-Am gmail-Al editable
gmail-LW-avf gmail-tS-tW gmail-tS-tY" aria-label="Message
Body" role="textbox" aria-multiline="true" tabindex="1" style="direction:ltr;min-height:335px">Hi all,
<div><br>
</div>
<div>When using the command `make images --always-make
CONF_CHECK=ignore JOBS=4` to build the JDK,</div>
<div>it doesn't succeed and returns the error message (See
below for detail).</div>
<div>It seems that two or more processes concurrently
process the target `module-deps.gmk` which exists in the
file `make/common/Modules.gmk`. </div>
<div>All these processes print module dependence information
into file
`build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk` </div>
<div>so that the file `module-deps.gmk` contains unqualified
information. I attach my local file `module-deps.gmk` for
you to read.</div>
<div><br>
</div>
<div>It is a bug which is related to both parallelism and
the option `--always-make`.</div>
<div>So if you remove `JOBS=4` or `--always-make`, you can
not reproduce the bug.</div>
<div>And we may never use the argument `--always-make`
because it takes more time to build the JDK.</div>
<div>But unfortunately, when using vscode support according
to the JDK document [1] and using the vscode extension
`ms-vscode.makefile-tools` [2],</div>
<div>this extension will use the argument `--always-make`
and then will report this error.</div>
<div><br>
</div>
<div>[1] <a href="https://github.com/openjdk/jdk/blob/master/doc/ide.md" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/openjdk/jdk/blob/master/doc/ide.md</a></div>
<div>[2] <a href="https://github.com/microsoft/vscode-makefile-tools/" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">https://github.com/microsoft/vscode-makefile-tools/</a></div>
<div><br>
</div>
<div><br>
</div>
<div>Here is the error message during building.</div>
<div>```</div>
<div>Building target 'images' in configuration
'linux-x86_64-server-slowdebug'<br>
Compiling 1 files for BUILD_TOOLS_HOTSPOT<br>
Compiling 8 files for BUILD_TOOLS_LANGTOOLS<br>
/home/lgx/source/java/jdk-vscode/build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk:8:
*** missing separator. Stop.<br>
make/Main.gmk:157: recipe for target 'java.base-copy'
failed<br>
make[2]: *** [java.base-copy] Error 2<br>
make[2]: *** Waiting for unfinished jobs....<br>
/home/lgx/source/java/jdk-vscode/build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk:8:
*** missing separator. Stop.<br>
make/Main.gmk:157: recipe for target 'java.desktop-copy'
failed<br>
make[2]: *** [java.desktop-copy] Error 2<br>
<br>
ERROR: Build failed for target 'images' in configuration
'linux-x86_64-server-slowdebug' (exit code 2)<br>
<br>
=== Make failed targets repeated here ===<br>
make/Main.gmk:157: recipe for target 'java.base-copy'
failed<br>
make/Main.gmk:157: recipe for target 'java.desktop-copy'
failed<br>
=== End of repeated output ===<br>
<br>
HELP: Try searching the build log for the name of the
first failed target.<br>
HELP: Run 'make doctor' to diagnose build problems.<br>
<br>
/home/lgx/source/java/jdk-vscode/make/Init.gmk:310: recipe
for target 'main' failed<br>
make[1]: *** [main] Error 2<br>
/home/lgx/source/java/jdk-vscode/make/Init.gmk:186: recipe
for target 'images' failed<br>
make: *** [images] Error 2<br>
</div>
<div>```</div>
<div><br>
</div>
<div>Best Regards,</div>
<div>-- Guoxiong</div>
</div>
</div>
</div>
</blockquote>
</body>
</html>