Hi all, When using the command `make images --always-make CONF_CHECK=ignore JOBS=4` to build the JDK, it doesn't succeed and returns the error message (See below for detail). It seems that two or more processes concurrently process the target `module-deps.gmk` which exists in the file `make/common/Modules.gmk`. All these processes print module dependence information into file `build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk` so that the file `module-deps.gmk` contains unqualified information. I attach my local file `module-deps.gmk` for you to read.
It is a bug which is related to both parallelism and the option `--always-make`. So if you remove `JOBS=4` or `--always-make`, you can not reproduce the bug. And we may never use the argument `--always-make` because it takes more time to build the JDK. But unfortunately, when using vscode support according to the JDK document [1] and using the vscode extension `ms-vscode.makefile-tools` [2], this extension will use the argument `--always-make` and then will report this error. [1] https://github.com/openjdk/jdk/blob/master/doc/ide.md [2] https://github.com/microsoft/vscode-makefile-tools/ Here is the error message during building. ``` Building target 'images' in configuration 'linux-x86_64-server-slowdebug' Compiling 1 files for BUILD_TOOLS_HOTSPOT Compiling 8 files for BUILD_TOOLS_LANGTOOLS /home/lgx/source/java/jdk-vscode/build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk:8: *** missing separator. Stop. make/Main.gmk:157: recipe for target 'java.base-copy' failed make[2]: *** [java.base-copy] Error 2 make[2]: *** Waiting for unfinished jobs.... /home/lgx/source/java/jdk-vscode/build/linux-x86_64-server-slowdebug/make-support/module-deps.gmk:8: *** missing separator. Stop. make/Main.gmk:157: recipe for target 'java.desktop-copy' failed make[2]: *** [java.desktop-copy] Error 2 ERROR: Build failed for target 'images' in configuration 'linux-x86_64-server-slowdebug' (exit code 2) === Make failed targets repeated here === make/Main.gmk:157: recipe for target 'java.base-copy' failed make/Main.gmk:157: recipe for target 'java.desktop-copy' failed === End of repeated output === HELP: Try searching the build log for the name of the first failed target. HELP: Run 'make doctor' to diagnose build problems. /home/lgx/source/java/jdk-vscode/make/Init.gmk:310: recipe for target 'main' failed make[1]: *** [main] Error 2 /home/lgx/source/java/jdk-vscode/make/Init.gmk:186: recipe for target 'images' failed make: *** [images] Error 2 ``` Best Regards, -- Guoxiong
module-deps.gmk
Description: Binary data