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