Hi Andrew,

On 14/03/2013 2:16 AM, Andrew Hughes wrote:
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.

This has already been covered with LOG=trace (or DEBUG) but note that it is actually logged to disk - the output (regardless of the log level) goes to build.log in the configuration directory (by default).

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.

I think this is actually a javadoc call (hence the non-fatal nature of the error). But it is very hard to associate the message with any given command due to all the interleaving (at least in my build). :(

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).

What gcc version are you using? I don't see this with 4.6.

Probably best to take this up with nio-dev folk.

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.

This is odd. The top-level Makefile in the forest has:

default: all

but the generated Makefile in the configuration directory simply includes NewMakefile.gmk which has

# This must be the first rule
default:

I always use the generated Makefile as the entry point but then I never rely on default targets anyway.

But this certainly is confusing.

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).

Is this an old-build vs new-build issue or a 7 vs 8 issue? The default version information comes from files in the forest:

./common/autoconf/version-numbers

JDK_MAJOR_VERSION=1
JDK_MINOR_VERSION=8
JDK_MICRO_VERSION=0
JDK_UPDATE_VERSION=
LAUNCHER_NAME=openjdk
PRODUCT_NAME=OpenJDK
PRODUCT_SUFFIX="Runtime Environment"
JDK_RC_PLATFORM_NAME=Platform
COMPANY_NAME=N/A

# Might need better names for these
MACOSX_BUNDLE_NAME_BASE="OpenJDK"
MACOSX_BUNDLE_ID_BASE="net.java.openjdk"

Thanks,
David

Hope this helps.  I'm happy to produce patches for some of these issues, but 
wanted to discuss the best way
forward first.

Thanks,

Reply via email to