I've just got my first build out of the new system using the main jdk8/jdk8 tree (b80) and so thought it was worth giving some feedback on the problems encountered and issues with the end result:
1. It took some time to work out how to get back to the usual 'noisy' build as the default seems to subdue all the useful output. VERBOSE=true broke the build when it tried to use 'true' as a Makefile target. It turns out the solution is the rather non-obvious VERBOSE= . Could we not have this documented somewhere and perhaps have verbosity as a configure option? After grepping around, it's not very obvious to me where it gets set. 2. One of the javac calls in the jdk tree fails with: /home/andrew/projects/openjdk/upstream/jdk8/jdk/src/share/classes/javax/swing/JSpinner.java:43: error: package sun.util.locale.provider does not exist /home/andrew/projects/openjdk/upstream/jdk8/jdk/src/share/classes/javax/swing/JSpinner.java:44: error: package sun.util.locale.provider does not exist /home/andrew/projects/openjdk/upstream/jdk8/jdk/src/share/classes/javax/swing/JSpinner.java:45: error: package sun.util.locale.provider does not exist This package is in the jdk8 tree but not in the build JDK (7). Oddly, the build continues despite this error and the final rt.jar does include JSpinner. 3. -Werror is set for the SCTP native code causing the build to fail: Lots of stuff like: /home/andrew/projects/openjdk/upstream/jdk8/jdk/src/solaris/native/sun/nio/ch/sctp/SctpChannelImpl.c:88:24: error: unused parameter 'klass' [-Werror=unused-parameter] as -Werror is passed and -Wno-unused doesn't seem to turn these off. SCTP_WERROR= worked around it (perhaps this should at least be WARNINGS_ARE_ERRORS to match HotSpot?) Do we have a preferred way to fix these errors? I know about __unused__ but I believe this is GCC-specific and I wouldn't want to break the build on other platforms (Solaris, MacOS X, BSD). 4. It's odd that the default 'make' no longer means 'make all' and 'make' on its own doesn't produce a JDK image to use. This will be confusing for newcomers who miss that important 'all' word or people like me who go by the usual presumption that the default argument to make is 'all', but appears to have been subverted here. 5. The final image produces: openjdk version "1.8.0-internal" from -version. I can't remember whether or not the internal was there before and we suppressed it in IcedTea, but we've definitely always had 'java version' and not having this will break numerous applications (possibly including the JDK build, as I know at least the old one used to check the version). Hope this helps. I'm happy to produce patches for some of these issues, but wanted to discuss the best way forward first. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
