Re: RFR: 8009426 profiles target fails due to nashorn if images is not built first

2013-03-19 Thread Alan Bateman

On 18/03/2013 19:59, David Holmes wrote:

Very simple fix/cleanup.

webrev: http://cr.openjdk.java.net/~dholmes/8009426/webrev/

nashorn.jar was being added to the set of JARS targets regardless of 
what was being built, but nashorn is not a dependency for profiles 
target. JARS is not used the way it used to be now we have profiles 
and all jar files should simply be listed in the appropriate entry in 
profiles-includes.txt. There was a couple of other misplaced items too:


makefiles/CreateJars.gmk

  Removed nashorn and tzdb setting of JARS

makefiles/Profiles.gmk

  Removed redundant listing of cldrdata.jar

makefiles/profile-includes.txt

  Add nashorn to full JRE lists
This looks okay to me for now but as javax.script is in compact3 then we 
should be looking to include that in the compact3 builds.


The other clean-ups looks okay to me too. I remember suggesting to 
Sherman to add tzdb.jar to JARS but that was prior to the merge with 
profiles (pre-dated profiles-includes.txt).


-Alan.


Re: RFR: 8009426 profiles target fails due to nashorn if images is not built first

2013-03-19 Thread David Holmes

Hi Alan,

On 19/03/2013 5:44 PM, Alan Bateman wrote:

On 18/03/2013 19:59, David Holmes wrote:

Very simple fix/cleanup.

webrev: http://cr.openjdk.java.net/~dholmes/8009426/webrev/

nashorn.jar was being added to the set of JARS targets regardless of
what was being built, but nashorn is not a dependency for profiles
target. JARS is not used the way it used to be now we have profiles
and all jar files should simply be listed in the appropriate entry in
profiles-includes.txt. There was a couple of other misplaced items too:

makefiles/CreateJars.gmk

  Removed nashorn and tzdb setting of JARS

makefiles/Profiles.gmk

  Removed redundant listing of cldrdata.jar

makefiles/profile-includes.txt

  Add nashorn to full JRE lists

This looks okay to me for now but as javax.script is in compact3 then we
should be looking to include that in the compact3 builds.


If we are definitely going to add nashorn.jar to compact3 then I will 
revise this to do so, and add the missing dependency to ensure nashorn 
is built. If this decision still has to be confirmed then I will push 
what I have now and we can deal with the change later.


Thanks,
David


The other clean-ups looks okay to me too. I remember suggesting to
Sherman to add tzdb.jar to JARS but that was prior to the merge with
profiles (pre-dated profiles-includes.txt).

-Alan.


Re: Fix x11 header check

2013-03-19 Thread Erik Joelsson

On 2013-03-18 21:39, Omair Majid wrote:

On 03/15/2013 03:55 PM, Omair Majid wrote:

In file included from
/builddir/build/BUILD/java-1.8.0-openjdk/jdk8/build/jdk8.build/jdk/gensrc_x11wrappers/sizer.64.c:11:0:
/builddir/build/BUILD/java-1.8.0-openjdk/jdk8/jdk/src/solaris/native/sun/awt/awt_p.h:51:36:
fatal error: X11/extensions/Xrender.h: No such file or directory
  #includeX11/extensions/Xrender.h

So this one turns out to be a bug in how we use AC_CHECK_HEADERS. If I
remove the package that provides this header file on my machine,
configure tells me that the header is missing but does not indicate an
error:

checking for IceConnectionNumber in -lICE... yes
checking for X11/extensions/shape.h... yes
checking for X11/extensions/Xrender.h... no
checking for X11/extensions/XTest.h... yes
checking cups/cups.h usability... yes
checking cups/cups.h presence... yes

The documentation for AC_CHECK_HEADERS [1] states:


If action-if-found is given, it is additional shell code to execute when
one of the header files is found


So what happens is that as long as the last header in the list
[X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h]
is found, X11_A_OK is set to yes, and the build continues.

A one-line fix is:
http://cr.openjdk.java.net/~omajid/webrevs/x11-header-check/00/

Nice find and simple fix. The break is even mentioned in the 
documentation as a recommended way of solving this. I created:


8010277: Configure doesn't fail when Xrender.h is missing

/Erik

Thanks,
Omair

[1]
http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Generic-Headers.html


Re: RFR 8009517: Disable fatal compiler warning in the old build

2013-03-19 Thread Chris Hegarty

Brad,

I do not build using the old build anymore. This is clearly a blocker 
for your work. If you want to suppress the warnings for 
overrides/deprecation, then please push the change ( your patch ). We 
can revisit this in the future, when it is necessary.


-Chris.

On 03/19/2013 01:29 AM, Brad Wetmore wrote:

Sorry for the delay in response, I've been pulled in yet another
direction, and this has come back up in priority.

On 3/9/2013 12:11 AM, Chris Hegarty wrote:

I agree about warning creeping problems.  This is a temporary solution,
we should soon be fixing the underlying hashcode/equals
problems...but...


Your temporary solution, -overrides, is just that. It will enable the
old build to complete today, but it could fail at any point in the
future, as the code changes.


Correct.  As it stands today, a recent change now requires *BOTH*
overrides/deprecation in order to get a complete MASTER build using the
old build system.

[brwetmor@flicker-vm1] 222 hg diff common/shared/Defs-java.gmk
diff --git a/make/common/shared/Defs-java.gmk
b/make/common/shared/Defs-java.gmk
--- a/make/common/shared/Defs-java.gmk
+++ b/make/common/shared/Defs-java.gmk
@@ -127,7 +127,7 @@
  endif

  # TODO: Workaround for CR 7063027. Remove -path eventually.
-JAVAC_LINT_OPTIONS += -Xlint:-path
+JAVAC_LINT_OPTIONS += -Xlint:-path,-overrides,-deprecation

  JAVACFLAGS += $(JAVAC_LINT_OPTIONS)


For example, java.net is currently warning free, in the old it compiles
with fatal warnings enabled. Lets say, in a moment of madness, I add a
dependency from java.net.Socket to say java.awt.RenderingHints.Key ( or
any class that produces warnings when compiled. I run the new build, all
is fine. Push the changes. Now someone else sync's up, but need to build
using the old build. If the new dependent class is not already compiled
before java.net.Socket gets compiled, it will be compiled implicitly.
It's warnings will cause the compile to fail, and the old build will
fail. Or much simpler, anyone could write sloppy code with warnings, the
new build will suppress them, and they won't notice. Push this code, and
the old build will fail if is explicitly, or implicitly, compiles this
code with -Werror enabled.


Exactly.  Our formerly clean code now requires disabling of two Lint
options, but the new build is happy just to report the warning.  The old
build crashes on the warning.

Our options for the old build system are:

1.  disable the warning for overrides/deprecation, keep -Werror (my
preferred since these are minor warnings.)
2.  Somehow disable -Werror on these new directories that are now
failing.  (more work to figure out, but also acceptable)
3.  Fix the warnings.  (I don't have cycles to drive a rewrite of use of
deprecated code and/or add missing equals/hashcode that the recent javac
changes exposed.)


 We
spent a lot of time cleaning up many directories, seems a shame to start
allowing non-fatal warnings to come back into previously clean code
because people aren't taking the time to fix new warnings as they are
introduced.


I personally spent several weeks over the past number of years fixing
warnings and reviewing warning cleanup webrevs from others. I took much
pride in keeping certain areas warnings free.

It is with great regret that I propose to disable fatal warnings in the
old build, but I felt this the best/safest option. I heard much
annoyance and frustration from others about hitting seemingly random
errors with the old build recently. This is the only sure way to avoid
that.


The new builds will still warn, but the
old builds will still fail for all but these override problems.  Yes,
you lose the warnings in the old, but seems better than completely
shutting off erroring.


I'm ok with that, if others are. To clarify, I think you are suggesting
that we keep the old build as it, with -overrides,


and now ,-deprecation  :(


 and use it
periodically as a way of tracking new warnings being introduced into
areas that were warning free.


That would be a side-effect, as someone would occasionally need to
figure out what's changed.

The main issue we're hitting right now is that RE has to make several
source code changes in order to build JCE jar files without errors.  I
was able to change the individual LINT options globally and reduce it
down to one change, but that's still one change that RE has to make.  I
feel that RE should not be making any changes, but that ship has already
sailed and we're stuck with the results now.

  That is, if the old build fails because of

a fatal warning, so be it. File a bug and fix the source code. Then the
old build will work again. This means that at any point in time the old
build cannot be guaranteed to be buildable.

Everyone seems to agree, a solution needs to be found to allow us to
keep certain areas warning free. This issue is too important, and too
much time was spent, to allow it to regress to the state it was in a few
years ago.


It's already started.

Brad




Re: RFR: 8006818: SunEC and SunPKCS11 providers should be in all profiles

2013-03-19 Thread Alan Bateman

On 19/03/2013 16:19, Jen Dority wrote:

Please review http://cr.openjdk.java.net/~dholmes/8006818/webrev/.

This resolves JDK-8006818 which calls for adding the SunEC and 
SunPKCS11 providers to the compact* profiles.


Thanks,
Jen
This looks okay to me although the SunPKCS11 provider isn't configured 
by default on Linux so that additional effort would be required to 
actually use it.


-Alan