RFR: JDK-8076123: 9-dev build fail: make/Init.gmk:142: *** multiple target patterns. Stop.
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Fri Mar 27 12:06:17 UTC 2015
Looks good to me. Thank you for fixing this.
/Magnus
> 27 mar 2015 kl. 12:46 skrev Erik Joelsson <erik.joelsson at oracle.com>:
>
> Hello,
>
> There are a number of issues caused by JDK-8076060:
>
> 1. A completely new configuration fails when running make the first time. Second attempt succeeds. That's what failing in the bug description.
> 2. Bootcycle-images is broken as the current working dir in Main.gmk has changed from TOPDIR/make to TOPDIR.
> 3. The sanity check that spec.gmk is actually a spec for the current source tree fails if the source root has a symlink somewhere in the path, or if it's in a special cygwin directory like /home/something/jdk9-dev.
>
> This patch addresses all of these.
>
> 1. was caused by the build output of module-deps.gmk ending up in the ALL_MAIN_TARGETS. The problem was that the check for if module-deps.gmk needed to be built only checked for the directory "make-support" instead of "make-support/module-deps.gmk". The directory make-support currently exists from just running configure.
>
> 2. Changed the make call for bootcycle-images to use an absolute path to Main.gmk so that current working directory becomes irrelevant.
>
> 3. This sanity check is new. To get it to work better, I changed configure to save two extra versions of the TOPDIR since the "topdir" calculated by make doesn't always match what we found in configure. Then in the sanity check I compare to all 3 different versions of TOPDIR. This seems to cover the cases reported so far. Ideally a path comparison shouldn't be done just by comparing strings, but we also need this to run fast at build time, so no shell execution if it can be avoided.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8076123
> Webrev: http://cr.openjdk.java.net/~erikj/8076123/webrev.top.01/
>
> /Erik
More information about the build-dev
mailing list