Re: Does OpenJDK statically link the C++ runtime?

2012-01-04 Thread Dr Andrew John Hughes
On 10:41 Wed 04 Jan , Andrew Haley wrote:
 On 01/04/2012 06:16 AM, John Von Seggern wrote:
  Way back in a bug report for Java 1.4, I found this note:
  
  We statically link the C++ runtime in JDK and enabled linker script
  to hide symbols from libstdc++ and other internal symbols.
  --http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4694590
  
  Does OpenJDK continue to take this approach?
 
 Yes it does, but if you're using Linux be aware that most Linux
 distros patch this out, AFAIK.
 

I'm not sure it even needs patching (though we do in IcedTea6).  Setting
STATIC_CXX=false should be enough (it defaults to true).

 Andrew.

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


signature.asc
Description: Digital signature


Re: Does OpenJDK statically link the C++ runtime?

2012-01-04 Thread Dr Andrew John Hughes
On 20:43 Wed 04 Jan , John Von Seggern wrote:
 Kelly,
 Thanks for taking the time to answer my question.  This information is
 very helpful.
 
  So in general, doing static linking is a bad idea and should not be done 
  lightly, if ever.
 

The most obvious issue for me is security.  If a security flaw appears in 
libstdc++
(or whatever library is linked statically), you have to rebuild to fix it.  So 
the JDK
has to have a security update due to one of its dependencies.

 As I've been looking into these issues, I've encountered developers
 who advise against dynamically loading any C++ code.  For example, a
 coworker referred me to this article:
 
 http://www.trilithium.com/johan/2005/06/static-libstdc/
 
 If you don't want to do all that reading, the key quotes are:
 
 1. C++ ABI changes have been introduced with every major release of GCC
 2. code compiled against different ABIs is simply not binary compatible.
 3. a fairly workable compromise is to link all C++ code into an
 executable while using dynamically loaded C libraries only.
 4. for this to work reliably you must not use dynamically loaded C++ code
 
 As I understand it, Sun took a similar approach for JDK4.
 

A lot of this depends on development model.

In a FOSS model, the source is available so anyone can perform a rebuild.  
Hence,
if they upgrade their compiler, they can simply rebuild its dependencies.  
GNU/Linux
is provided in distributions which means that each part of the stack is under 
the control
of the same entity.  So they know if a gcc upgrade is performed and to do a mass
rebuild of all packages (usually for a new release).  This also shakes out 
build problems
with that new compiler.  A lot of the work IcedTea 
(http://icedtea.classpath.org/) has
done with OpenJDK relates to making it work well in this kind of environment.

In a proprietary model, which OpenJDK's build system is designed around, the 
user is
provided with a blob and has to cross their fingers that it runs.  If it 
doesn't, all
they can do is go back to the provider and complain.  Hence, it is in the 
provider's
interest to make that blob compatible with as many systems as possible.  This 
is done
by statically linking libraries and is also the reason you'll find copies of 
system
libraries (libpng, libjpeg, zlib, lcms) in the OpenJDK tree as well as 
libraries like
Gtk+ (for the look and feel) being opened dynamically.  The aim of all that is 
to
minimise dependencies and make the binary self-contained, but it means that if 
any
part of the stack has a security issue, a rebuild is necessary.  Such a blob is 
always
going to be safer in terms of compatibility as all the parts are in the same 
box.
This is the model followed by applications on Windows and Mac OS platforms, and
leads to issues such as DLL hell with dynamically linked bundled libraries, 
as several
applications all bring their own copies of the same library but different 
versions.

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


signature.asc
Description: Digital signature


Re: Xm/Motif for OpenJDK build?

2011-11-09 Thread Dr Andrew John Hughes
On 09:11 Wed 09 Nov , Florian Weimer wrote:
 * Srinivas Ramakrishna:
 
  Sorry for a rather naive question. I am building openjdk (6) from
  scratch for the first time and am running into an issue when building
  the AWT classes because of not finding the relevant Motif header files
  at the expected locations on my system (ubuntu/x64).
 
 I think these headers are plain Xt, not Motif.  Here's the minimal list
 of build dependencies I ended up with:
 
  ant,
  ant-optional,
  cpio,
  file,
  gawk,
  libasound2-dev,
  libcups2-dev,
  libfreetype6-dev,
  libx11-dev,
  libxext-dev,
  libxi-dev,
  libxrender-dev,
  libxt-dev,
  libxtst-dev,
  m4,
  openjdk-6-jdk,
  openjdk-drops,
  procps,
  unzip,
  x11proto-input-dev,
  zip,
 
 This list is for building OpenJDK 7 on a derivative of Debian squeeze,
 but Ubuntu is probably similar.
 

But he asked about 6, not 7.  And 6 does require the Motif headers still.
Works with OpenMotif.

 -- 
 Florian Weimerfwei...@bfk.de
 BFK edv-consulting GmbH   http://www.bfk.de/
 Kriegsstraße 100  tel: +49-721-96201-1
 D-76133 Karlsruhe fax: +49-721-96201-99

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07


signature.asc
Description: Digital signature


Re: hg: build-infra/jdk7: Jaxws actually depends on jaxp, this becomes obvious when compiling

2011-10-18 Thread Dr Andrew John Hughes
On 14:28 Fri 14 Oct , fredrik.ohrst...@oracle.com wrote:
 Changeset: 984f119f2ea7
 Author:ohrstrom
 Date:  2011-10-14 16:36 +0200
 URL:   http://hg.openjdk.java.net/build-infra/jdk7/rev/984f119f2ea7
 
 Jaxws actually depends on jaxp, this becomes obvious when compiling
 with a boot jdk that does not have jaxp in its boot class path.
 
 ! Makefile
 

Yeah, I found this with IcedTea bootstrapping; see 
patches/boot/jaxp-dependency.patch
in IcedTea7.  There are a lot of implicit assumptions throughout the build
that a complete Oracle JDK will be available (i.e one with com.sun.* and sun.* 
classes).
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07


signature.asc
Description: Digital signature


Re: Improving source drops documentation

2011-10-12 Thread Dr Andrew John Hughes
On 13:52 Wed 12 Oct , Fredrik Öhrström wrote:
 2011/10/12 Dr Andrew John Hughes ahug...@redhat.com:
  FWIW, I recently did exactly that in IcedTea because I'm sick of all the 
  problems this drop solution causes.
  This has cut things down from needing five tarballs (jaxp + jaxws 
  repositories + three drop zips) to two with
  everything in. Should someone really want to build from the tarballs, they 
  can just delete the sources.
 
 The sources must be added to the jaxp/jaxws repositores. In fact I
 have done that already in the build-infra forest.
 

Yes, same in the IcedTea forest e.g. 
http://hg.openjdk.java.net/icedtea/jdk7/jaxws/rev/c608b38af726

  I don't see why touching the files is a problem; surely all changesets have 
  to pass review and any that attempt to
  alter this files would just not do so? What am I missing?
 
 It suppose it is a matter of educating sustaining engineering that
 fixes to jaxp and jaxws has to go through the upstream repositories.
 A bit of software to prevent messing this up would help, but is not
 immediately needed.
 

I still fail to see why such changes would be approved in the first place.  It 
sounds like a software
solution is being used to paper over a social one.

 //Fredrik

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07


Re: Build Infrastructure changes

2011-08-03 Thread Dr Andrew John Hughes
On 18:25 Wed 03 Aug , Kelly O'Hair wrote:
 FYI...
 
 If you are interested in the jdk8 build infrastructure changes coming down 
 the pipe, I invite you
 to join the build-infra-dev alias:
 
 http://mail.openjdk.java.net/pipermail/build-infra-dev/2011-August/29.html
 
 I expect this work to get started and moving soon with Fredrik as the primary 
 contributor,
 the only catch is that I will be on vacation Aug 9-21 and the openjdk mail 
 system seems to be
 refusing to send email to Fredrik. Hopefully I'll resolve Fredrik's email 
 issue very soon.
 
 The autoconf setup may borrow ideas/patterns from the IcedTea project, and I 
 want to give
 credit to that team for that work.

Thanks.  I'd hope we could actually use some of the IcedTea work in OpenJDK.
I don't think doing that will be so much a technical issue; I doubt you're going
to test for libraries any differently and could probably start using more system
ones.  However, there is a legal issue with OpenJDK contributions requiring the 
OCA.

 
 Please send questions to the build-infra-dev alias.
 
 -kto

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Different javac options for explicitly and automatically compiled files

2011-08-02 Thread Dr Andrew John Hughes
On 16:02 Mon 01 Aug , Jonathan Gibbons wrote:
 On 08/01/2011 02:55 PM, Dr Andrew John Hughes wrote:
  On 11:07 Mon 01 Aug , Alexandre Boulgakov wrote:
  Hello Kelly,
 
  Do you know the answer to this one?
 
  Thanks,
  Sasha
 
  On 7/29/2011 11:37 AM, Alexandre Boulgakov wrote:
  Hello,
 
  I am working on removing the javac -Xlint warnings from java.net.*.
  After removing these warnings, I would like to turn on javac's -Werror
  flag in make/java/net/Makefile. However, it seems that the javac task
  in make/java/net/Makefile has to automatically compile some
  dependencies (not listed in the makefile, presumably inferred by the
  compiler from the sourcepath) which have not had warnings fixed yet
  (sun.net.idn.*, com.sun.security.ntlm.*).
 
  Is there some way to have the -Werror flag only apply to explicitly
  specified source files, but not to the ones that javac pulls in
  automatically?
  It sounds to me like there's a bug there; those files should be being
  dealt with earlier in the build or as part of java/net/Makefile.
 
 Regrettably, there are circularities in JDK :-(
 
  If they aren't implictly compiled from the source tree, then presumably
  classes from the bootstrap runtime library will be used if present, which
  could cause all sorts of issues.
 
 No. The Makefiles should be set so that the bootstrap runtime library 
 is overridden
 with -bootclasspath, meaning that the compilation will fail if the 
 classes are not
 available to javac in source or compiled form.
 

Then where is it going to get these classes if -implicit:none is used to
stop them being compiled from source?

  Thanks,
  Sasha
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Allow HotSpot to build on Linux 3.0+

2011-07-28 Thread Dr Andrew John Hughes
On 15:02 Thu 28 Jul , Mark Wielaard wrote:
 On Thu, 2011-07-28 at 08:32 -0400, Keith McGuigan wrote:
  This appears to remove support for version 2.7.  Is that intentional?
 
 There has never been a 2.7 kernel.
 2.6.39.3 is the last before the 3.0 series.
 https://secure.wikimedia.org/wikipedia/en/wiki/Linux_kernel#Version_numbering
 

Yes, it was intentional.  As Mark says, it never existed and I guess never will 
now.
I assume it was added as future proofing, but Linus went and messed that up
by going to 3.0... ;-)
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Allow HotSpot to build on Linux 3.0+

2011-07-28 Thread Dr Andrew John Hughes
On 09:17 Thu 28 Jul , Keith McGuigan wrote:
 
 Ok, thanks.  Code looks good to me then.
 

Ok, can I push this or do you still need to do this via JPRT?

Either way, I need a bug ID please.

 --
 - Keith
 
 On Jul 28, 2011, at 9:02 AM, Mark Wielaard wrote:
 
  On Thu, 2011-07-28 at 08:32 -0400, Keith McGuigan wrote:
  This appears to remove support for version 2.7.  Is that intentional?
 
  There has never been a 2.7 kernel.
  2.6.39.3 is the last before the 3.0 series.
  https://secure.wikimedia.org/wikipedia/en/wiki/ 
  Linux_kernel#Version_numbering
 
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Regression in OpenJDK8 Makefiles

2011-07-27 Thread Dr Andrew John Hughes
Hi,

Can someone please tell me why:

http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cf4edfcd7119

reverted my earlier fix:

http://hg.openjdk.java.net/jdk8/tl/jdk/rev/80368890a2a0

without any discussion?

The correct fix would have been to bump the boot source language/target class
versions to 7, not erase the lines altogether.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Regression in OpenJDK8 Makefiles

2011-07-27 Thread Dr Andrew John Hughes
On 11:58 Wed 27 Jul , Kelly O'Hair wrote:
 
 On Jul 27, 2011, at 11:04 AM, Dr Andrew John Hughes wrote:
 
  Hi,
  
  Can someone please tell me why:
  
  http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cf4edfcd7119
  
  reverted my earlier fix:
  
  http://hg.openjdk.java.net/jdk8/tl/jdk/rev/80368890a2a0
  
  without any discussion?
 
 My apologies, the webrev should have been made public.
 
  
  The correct fix would have been to bump the boot source language/target 
  class
  versions to 7, not erase the lines altogether.
 
 Unfortunately, that did not work with jdk7 as a boot

Why was this?  I don't understand why anything would fail with javac -source 7 
-target 7 over
just javac.

, and jdk6 won't work as a boot jdk
 soon anyway.

Well, yes I assumed this patch was related to moving to OpenJDK7 as the minimum 
bootstrap JDK.

 Since we will be requiring a jdk7 as the boot jdk, I did not feel it was 
 needed
 to even specify this. Anything compiled with the boot javac technically 
 doesn't care what
 the source/target is, or should, and the class files created just need to 
 work with the boot jdk,
 and should not be shipped as part of the jdk8 being built.
 
 When I looked at the Makefiles, there was no comment as to why we even had to 
 set the -source
 or -target options when using the boot javac at all.
 My conclusion was that it was unnecessary, and deleting these lines made 
 'jdk7 as boot' work.
 
 If that was wrong I apologize, why does this matter?
 

It means that we are depending on whatever defaults the bootstrap
javac uses rather than being explicit.  In most cases, that might not
cause a problem but I know I've run into problems with this and I
think it better to be safe than sorry, as you don't know what the
bootstrap javac is or what its default is.  If we expect the
bootstrap javac to produce java 7 class files, it should be set
explicitly:

http://blogs.oracle.com/darcy/entry/build_advice_set_source_target

I think I've hit it mostly with using ecj as the bootstrap javac, but
it couldcause an issue during development if the bootstrap javac
started producing 1.8 code by default but the VM used wasn't capable of
handling it.  Unlikely maybe, but I think it's better to have this set
explicitly and just avoid such issues altogether.

 -kto
 
  -- 
  Andrew :)
  
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
  
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: F5862A37 (https://keys.indymedia.org/)
  Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Regression in OpenJDK8 Makefiles

2011-07-27 Thread Dr Andrew John Hughes
On 17:12 Wed 27 Jul , Kelly O'Hair wrote:
 
 On Jul 27, 2011, at 4:28 PM, Dr Andrew John Hughes wrote:
 
  On 11:58 Wed 27 Jul , Kelly O'Hair wrote:
  
  On Jul 27, 2011, at 11:04 AM, Dr Andrew John Hughes wrote:
  
  Hi,
  
  Can someone please tell me why:
  
  http://hg.openjdk.java.net/jdk8/tl/jdk/rev/cf4edfcd7119
  
  reverted my earlier fix:
  
  http://hg.openjdk.java.net/jdk8/tl/jdk/rev/80368890a2a0
  
  without any discussion?
  
  My apologies, the webrev should have been made public.
  
  
  The correct fix would have been to bump the boot source language/target 
  class
  versions to 7, not erase the lines altogether.
  
  Unfortunately, that did not work with jdk7 as a boot
  
  Why was this?  I don't understand why anything would fail with javac 
  -source 7 -target 7 over
  just javac.
 
 Basically, we never really know what the BOOT javac will accept.

I was referring more to the actual build failure when you tried this.

If we're requiring 7 support as a minimum for bootstrapping, surely we know it 
will support this.

 I assume that if we use the default for javac, that the BOOT java can run 
 them.

This is the assumption that has not always held in my experience.

Being explicit means that a newer javac can be used with an older VM.

snip...

 
 If the BOOT jdk was jdk8, I would want these sources built for jdk8 and run 
 with a jdk8,
 it should just work.
 

This seems to contradict what you're saying about the files ending up in the 
image.  Why
does it matter if they use the minimum supported version?  Presumably an 
OpenJDK8 VM will
be able to run 1.7 class files.  But an OpenJDK7 VM wouldn't be able to run 1.8 
class files
if these are the default produced by the bootstrap javac.

 -kto
 
 
  
  -kto
  
  -- 
  Andrew :)
  
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
  
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: F5862A37 (https://keys.indymedia.org/)
  Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
  
  
  -- 
  Andrew :)
  
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
  
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: F5862A37 (https://keys.indymedia.org/)
  Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Help me to build openjdk on my machine

2011-07-11 Thread Dr Andrew John Hughes
On 11:24 Sun 10 Jul , Erik Trimble wrote:
 Folks,
 
 PPC isn't a currently supported architecture for OpenJDK - that is, no 
 one has contributed any code to support it.  I do know of several 
 proprietary ports, but that doesn't help. :-)  I don't even remember the 
 last time it was potentially supported (I'm pretty sure that PPC never 
 was supported in the OpenJDK project).
 
 To put in more bluntly, no one has built OpenJDK on PPC here at Oracle 
 for a *very* long time, and I don't know of any Open port anywhere else.
 
 It certainly would be nice for someone to come forward with a port of 
 Hotspot to the PPC/Power architecture, as the Freescale stuff (in 
 particular) is becoming very popular for embedded work.  Now that IBM is 
 part of OpenJDK, maybe they'll be interested?  (who knows)
 
 FYI - Zero the architecture, is for a zero-assembly version of Hotspot 
 (that is, a Hotspot version with as little architecture-specific 
 customizations as possible). If I were porting Hotspot, I'd start with 
 the Zero codebase, and work from there. But that's just me.
 
 -Erik
 
 

Debian provides PPC GNU/Linux builds, presumably using Zero:

http://packages.debian.org/squeeze/openjdk-6-jdk
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: prebuild Oracle VM appliance

2011-06-15 Thread Dr Andrew John Hughes
On 09:59 Wed 15 Jun , Andrew Haley wrote:
 On 14/06/11 22:22, Sebastian Sickelmann wrote:
  
  i had done a contribution to openjdk7 and remembered it was very
  hard to setup all the build thinks. Now a want to make some new
  contributions and i struggle again with the build setup. How about a
  prebuild Oracle VM appliance for openjdk development (at least for
  the linux-setup). I will get it working without such a appliance but
  i think it can be a solution to lower the entry-hurdle in openjdk
  contribution.
 
 Perhaps so.  I used to find OpenJDK hard to build, but now only the
 pesky bundles that you have to download present any problems.  I'll be
 interested to find out what other problems a prebuilt VM needs to
 solve.
 
 Andrew.

Which 'pesky bundles' are you referring to?  I'm not aware of any being
required for OpenJDK at present.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Boot JDK used with jdk7 builds

2011-06-03 Thread Dr Andrew John Hughes
On 08:57 Fri 03 Jun , Kelly O'Hair wrote:
 
 The documented Boot JDK to be used when building JDK7 repositories is JDK6 
 Update 18, as listed here
   http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html#MBE
 
 However, as many people know, JDK releases newer than JDK6u18 should always 
 work, and some older ones can work too.
 Variations in build dependencies can sometimes create unwanted differences 
 between builds by different developers
 or build systems, so our tendency is to minimize these variations, but by 
 doing so, we run a risk that we don't
 see what does not work. 
 
 If you have any incidents where particular JDKs can or cannot be used as the 
 Boot JDK for JDK7, please let us know.
 
 -kto
 

And OpenJDK6 works.  Is there any reason this is not recommended rather than a 
proprietary product?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Build Infrastructure Project

2011-05-20 Thread Dr Andrew John Hughes
On 13:11 Fri 20 May , Kelly O'Hair wrote:
 
 We now have a Build Infrastructure project!
 
 Register for email at:
   http://mail.openjdk.java.net/mailman/listinfo/build-infra-dev
 
 The repos will be at:
http://hg.openjdk.java.net/build-infra/jdk7
 
 But I haven't been able to populate them just yet, having access issues.
 
 Once the repos are primed, I hope this can get moving quickly because I want 
 to expose
 what can be done to the builds in terms of turnaround improvements etc.
 
 -kto
 

Hi Kelly,

Sorry if I missed this already, but what is the purpose of this new project?
I thought we already had build-dev...
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Build portability: enable or disable warnings

2011-05-20 Thread Dr Andrew John Hughes
On 07:20 Fri 20 May , David Holmes wrote:
 Dr Andrew John Hughes said the following on 05/20/11 06:24:
  On 09:47 Thu 19 May , David Holmes wrote:
  Dr Andrew John Hughes said the following on 05/19/11 05:29:
  On 08:35 Mon 16 May , Kelly O'Hair wrote:
  snip
  The -Werror option is a blessing and a curse. I find it highly 
  commendable that teams (like 
  hotspot) have taken a 'no warnings allowed' approach to their code base, 
  more teams should do this.
  Given the critical nature of a VM in the JDK, it only makes sense to 
  take all precautions in verifying the code is correct.
 
  I find it quite interesting that the one situation where -Werror is used 
  is where it's likely to hit
  the most difficulties. The HotSpot code is compiled by three different 
  compilers (gcc and whatever
  is used on Solaris and Windows) and the version of these used can vary 
  considerably, as the system C++ compiler
  is unrelated to the JDK.  
  Hotspot only uses -Werror with gcc. And its use predates the sudden 
  plethora of compiler versions now used to build OpenJDK. In prior times 
  the build compiler for a given release was set in stone so we knew what 
  warnings (and bugs!) to expect. 
  
  Welcome to OpenJDK.  You can't expect everyone compiling a FOSS project to
  use one true compiler and no other.  Sorry.  That's just the reality, and
  it's why we now have to reassess/amend these earlier choices.
 
 I was simply stating the history.
 

Ah, ok.  It read to me as if you expected this to still be possible.

 snip
  It does.  I'm unclear how anything you say here is different to the 
  situation
  with C/C++ compilers producing new warnings in new versions.
 
 I'm unclear what point you are trying to make about javac.
 
 javac produces new warnings because new language features cause new 
 potential issues. There are no new features in C/C++ (compiler-specific 
 extensions ignored), the compilers just get more pedantic about what 
 they complain about.
 

My point was just that it's interesting that it's HotSpot, which is
subject to the most variance in compilers (and thus the warnings
produced) that opts to have -Werror on by default.  The Java code
doesn't, yet the compiler for it is actually developed as part of the
OpenJDK code base.  It's not going to see the same kind of problem
where someone installs the new version of the system compiler and gets
new warnings, so -Werror behaviour with Java code would be much more
stable.

I don't think all javac warnings are down to new language features
and, having most warnings turned off and not causing errors, means
that more warnings build up as new code is written.

   If anything, OpenJDK
  is leading the way with support for these new language features, so you'd 
  expect
  it to adopt them in its own codebase.  As is, we're still getting warnings 
  resulting
  from features introduced in 2004.
 
 Practical realities - there were no resources, for example, to go and 
 change every single class that used a collection type in 1.4.2 and so 
 generated a raw type warning once generics were added in 5. These 
 things sometimes get cleaned up when other work is occurring in an area.
 
 Also note that in many cases javac warnings are disappearing because 
 @SuppressWarnings is being applied to the code.
 

I understand that.  It actually makes for some pretty good low hanging
fruit for external contributors to OpenJDK IMHO.  It's akin to the
janitoral work done on Linux if you're familiar with that.

I did find it worrying that there was an active desire to use new
OpenJDK7 language features throughout the codebase (despite the
bootstrapping problems this can cause), yet these 1.5 issues remain.

 David
 -
 
  
  I think comparing C/C++ compiler warnings with javac compiler warnings 
  is like comparing apples and elephants.
 
  David
  -
 
  

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Build Infrastructure Project

2011-05-20 Thread Dr Andrew John Hughes
On 16:12 Fri 20 May , Kelly O'Hair wrote:
 
 On May 20, 2011, at 3:36 PM, Dr Andrew John Hughes wrote:
 
  On 13:11 Fri 20 May , Kelly O'Hair wrote:
  
  We now have a Build Infrastructure project!
  
  Register for email at:
   http://mail.openjdk.java.net/mailman/listinfo/build-infra-dev
  
  The repos will be at:
http://hg.openjdk.java.net/build-infra/jdk7
  
  But I haven't been able to populate them just yet, having access issues.
  
  Once the repos are primed, I hope this can get moving quickly because I 
  want to expose
  what can be done to the builds in terms of turnaround improvements etc.
  
  -kto
  
  
  Hi Kelly,
  
  Sorry if I missed this already, but what is the purpose of this new project?
 
 Once I can get the build-infra repos primed, hopefully you will see what we 
 are doing.
 I don't expect this project to last past the final jdk8 efforts, it's a 
 sandbox for us to experiment
 and stabilize build changes.
 
 The big goal is to make builds faster, orders of magnitude faster, with some 
 major
 makefile re-writing and organization.
 An additional goal is to try and make building easier, but that part of it is 
 mostly directed
 at the Solaris and Windows builds, Linux isn't that hard (in my opinion :).
 
 The reason for the project is that this will be major build changes, and we 
 will need
 to experiment and share our work as quickly as possible, and openly as 
 possible.
 Once the changes prove to be stable and acceptable, then we will deal with 
 the transition to
 jdk8, and leave the jdk7 changes for potentially being included into jdk7u2, 
 but jdk8 is
 our primary target.
 
 One sub-project will be BuildDeps which will try and address how the build 
 dependencies are
 identified and how local installs are automated. Haven't much detail on that 
 yet.
 
 The major sub-project will be a re-write of the Makefiles to remove the 
 deeply nested Makefiles,
 correct the target dependencies, allow for make -j N to work reliably, 
 share common make logic,
 paralyze the javac compilations, etc. Pretty drastic stuff, but if we can 
 indeed make the builds
 orders of magnitude faster, we hope people will welcome the changes.
 
 Hopefully Fredrik and Erik will chime in for clarification when I mis-state 
 things.
 
 We are looking to turn around some of this work very quickly, so it's an E 
 ticket ride if
 you want to watch or join in (http://en.wikipedia.org/wiki/E_ticket).  ;^)
 
 -kto
 

This sounds great and long overdue.  I'd be happy to be involved if possible.

IcedTea currently has to force make -j1 on the OpenJDK build... :-(
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Build portability: enable or disable warnings

2011-05-19 Thread Dr Andrew John Hughes
On 10:32 Thu 19 May , Alan Bateman wrote:
 David Holmes wrote:
  :
 
  In contrast, there are basically two Java compilers in general use 
  (javac and ecj)
  and one is part of OpenJDK.  Yet, the Java code does not have -Werror 
  enabled by default and there
  are a mass of warnings there as a result.
 
  I don't understand the point you are making here. Does javac even have 
  a -Werror? The bulk of javac warnings stem from legacy code being 
  compiled under newer compilers with new language features - the 
  resulting code is not erroneous hence only a warning is issued.
 
  I think comparing C/C++ compiler warnings with javac compiler warnings 
  is like comparing apples and elephants.
 Yes, javac has -Werror and the build has JAVAC_WARNINGS_FATAL to turn it 
 on. I just checked my recent build of the jdk7/jdk7 forest and javac 
 emits a total of 9 warnings (7 are unsafe usages of varargs methods and 
 the other two are unreachable catch clauses). That isn't a lot but javac 
 doesn't have many warnings enabled by default. A nice project for 
 someone would be to change the build to -Werror by default and gradually 
 crank up the warnings listed by -Xlint.
 

javac is generally a good citizen.  I was thinking of jdk code.

I have built with JAVAC_MAX_WARNINGS=true on a number of occasions and
it's only recently (thanks to a few fixes from myself) that it's
actually been able to complete the build, due to some Makefiles
turning on Werror separately.  I expect with JAVAC_WARNINGS_FATAL as
well we wouldn't get past CORBA.

I do think having a switch to turn on everything but serial and deprecated 
warnings would be a more achievable goal, and would help get rid of
the remaining 1.5 stuff.

 -Alan.
 
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Build portability: enable or disable warnings

2011-05-18 Thread Dr Andrew John Hughes
On 07:25 Mon 16 May , Erik Trimble wrote:
 On 5/16/2011 6:03 AM, Andrew Haley wrote:
  On 05/16/2011 12:08 PM, Dalibor Topic wrote:
 
  The reason I'm asking is that I'm wondering if this is something we
  should expect to crop up in different parts of the code base, or
  whether it's a one off due to some specific thing some distros chose
  to do different from each other.
  That's hard to say.  It certainly could crop in other parts of the
  code base, and I'm surprised it doesn't happen regularly.  I'm rather
  appalled that distros do this kind of thing, TBH.
 
  Andrew.
 
 
 Just so I understand this - you're saying that by running *just* the 
 'gcc' command on different linux systems, that actually implies that gcc 
 gets invoked with some set of flags already set? And, that there's no 
 way to just invoke vanilla gcc ?
 
 If so, that's, ah, mindboggling (not in a good way)...
 

Maybe I'm misreading what you said, but I don't find it mindboggling that
an application would have default settings for certain options.  That's
basically what we're talking about here.  If a warning can be either on
or off, then one of these two has to be a default for that exact situation
when the user does just say gcc and doesn't specify whether they want
the warning or not.

A number of distros change the defaults of gcc in order to produce more
warnings, as some can point to real security issues.  This runs afoul of
HotSpot's use of -Werror which presumably assumes the default set of
warnings used by a certain version of gcc.  I think the appropriate solution
to this is, as Andrew suggests, to make explicit our preference for that
warning rather than relying on the implicit defaults.

 -- 
 Erik Trimble
 Java System Support
 Mailstop:  usca22-123
 Phone:  x17195
 Santa Clara, CA
 Timezone: US/Pacific (GMT-0800)
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: always generate java-rmi.cgi

2011-05-11 Thread Dr Andrew John Hughes
On 17:32 Tue 10 May , Kelly O'Hair wrote:
 
 I'm a little reluctant to accept this, I'm not sure what the full 
 ramifications are.
 But I think we want it.
 
 Is this in OpenJDK6 now?
 

OpenJDK6 changes have to go through 7 first, so no.  But it's been in IcedTea6 
since
before there were even OpenJDK Mercurial repositories and thus in all the 
OpenJDK6
builds actually deployed to users.

 -kto
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: hg: jdk7/build/jdk: 7043684: Update man pages for JDK 7 tools

2011-05-11 Thread Dr Andrew John Hughes
On 15:31 Wed 11 May , bhavesh.pa...@sun.com wrote:
 Changeset: 42c22d5a2cd0
 Author:bpatel
 Date:  2011-05-11 08:30 -0700
 URL:   http://hg.openjdk.java.net/jdk7/build/jdk/rev/42c22d5a2cd0
 
 7043684: Update man pages for JDK 7 tools
 Reviewed-by: skannan
 
 ! src/linux/doc/man/appletviewer.1
 ! src/linux/doc/man/apt.1
 ! src/linux/doc/man/extcheck.1
 ! src/linux/doc/man/idlj.1
 ! src/linux/doc/man/jar.1
 ! src/linux/doc/man/jarsigner.1
 ! src/linux/doc/man/java.1
 ! src/linux/doc/man/javac.1
 ! src/linux/doc/man/javadoc.1
 ! src/linux/doc/man/javah.1
 ! src/linux/doc/man/javap.1
 ! src/linux/doc/man/javaws.1
 ! src/linux/doc/man/jconsole.1
 ! src/linux/doc/man/jdb.1
 ! src/linux/doc/man/jhat.1
 ! src/linux/doc/man/jinfo.1
 ! src/linux/doc/man/jmap.1
 ! src/linux/doc/man/jps.1
 ! src/linux/doc/man/jrunscript.1
 ! src/linux/doc/man/jsadebugd.1
 ! src/linux/doc/man/jstack.1
 ! src/linux/doc/man/jstat.1
 ! src/linux/doc/man/jstatd.1
 + src/linux/doc/man/jvisualvm.1
 ! src/linux/doc/man/keytool.1
 ! src/linux/doc/man/native2ascii.1
 ! src/linux/doc/man/orbd.1
 ! src/linux/doc/man/pack200.1
 ! src/linux/doc/man/policytool.1
 ! src/linux/doc/man/rmic.1
 ! src/linux/doc/man/rmid.1
 ! src/linux/doc/man/rmiregistry.1
 ! src/linux/doc/man/schemagen.1
 ! src/linux/doc/man/serialver.1
 ! src/linux/doc/man/servertool.1
 ! src/linux/doc/man/tnameserv.1
 ! src/linux/doc/man/unpack200.1
 ! src/linux/doc/man/wsgen.1
 ! src/linux/doc/man/wsimport.1
 ! src/linux/doc/man/xjc.1
 ! src/solaris/doc/sun/man/man1/appletviewer.1
 ! src/solaris/doc/sun/man/man1/apt.1
 ! src/solaris/doc/sun/man/man1/extcheck.1
 ! src/solaris/doc/sun/man/man1/idlj.1
 ! src/solaris/doc/sun/man/man1/jar.1
 ! src/solaris/doc/sun/man/man1/jarsigner.1
 ! src/solaris/doc/sun/man/man1/java.1
 ! src/solaris/doc/sun/man/man1/javac.1
 ! src/solaris/doc/sun/man/man1/javadoc.1
 ! src/solaris/doc/sun/man/man1/javah.1
 ! src/solaris/doc/sun/man/man1/javap.1
 ! src/solaris/doc/sun/man/man1/javaws.1
 ! src/solaris/doc/sun/man/man1/jconsole.1
 ! src/solaris/doc/sun/man/man1/jdb.1
 ! src/solaris/doc/sun/man/man1/jhat.1
 ! src/solaris/doc/sun/man/man1/jinfo.1
 ! src/solaris/doc/sun/man/man1/jmap.1
 ! src/solaris/doc/sun/man/man1/jps.1
 ! src/solaris/doc/sun/man/man1/jrunscript.1
 ! src/solaris/doc/sun/man/man1/jsadebugd.1
 ! src/solaris/doc/sun/man/man1/jstack.1
 ! src/solaris/doc/sun/man/man1/jstat.1
 ! src/solaris/doc/sun/man/man1/jstatd.1
 + src/solaris/doc/sun/man/man1/jvisualvm.1
 ! src/solaris/doc/sun/man/man1/keytool.1
 ! src/solaris/doc/sun/man/man1/native2ascii.1
 ! src/solaris/doc/sun/man/man1/orbd.1
 ! src/solaris/doc/sun/man/man1/pack200.1
 ! src/solaris/doc/sun/man/man1/policytool.1
 ! src/solaris/doc/sun/man/man1/rmic.1
 ! src/solaris/doc/sun/man/man1/rmid.1
 ! src/solaris/doc/sun/man/man1/rmiregistry.1
 ! src/solaris/doc/sun/man/man1/schemagen.1
 ! src/solaris/doc/sun/man/man1/serialver.1
 ! src/solaris/doc/sun/man/man1/servertool.1
 ! src/solaris/doc/sun/man/man1/tnameserv.1
 ! src/solaris/doc/sun/man/man1/unpack200.1
 ! src/solaris/doc/sun/man/man1/wsgen.1
 ! src/solaris/doc/sun/man/man1/wsimport.1
 ! src/solaris/doc/sun/man/man1/xjc.1
 

Where was this reviewed?

Are there no sources for these files?

AFAIK, 'jvisualvm' is not part of OpenJDK.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: always generate java-rmi.cgi

2011-05-11 Thread Dr Andrew John Hughes
On 21:09 Wed 11 May , Dmitry Samersoff wrote:
 Omair,
 
 CR 7043921 . It need someone from jdk team to integrate it.
 

Omair has commit rights so he can just push it now.

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: do not use --sync with df during sanity check

2011-05-05 Thread Dr Andrew John Hughes
On 18:14 Wed 04 May , Kelly O'Hair wrote:
 
 On May 4, 2011, at 5:42 PM, Dr Andrew John Hughes wrote:
 
  
  7042040: Remove disk space sanity check
  
  
  Ok, if
  
  http://cr.openjdk.java.net/~andrew/sync/webrev.02/
  
  looks ok, I'll push it to the build tree.
 
 Files:
   jdk/make/common/shared/Defs-versions.gmk
   jdk/make/common/shared/Sanity-Settings.gmk
 Define and refer to REQUIRED_FREE_SPACE
 Those lines should be deleted too.
 
 Otherwise looks fine.
 

Try http://cr.openjdk.java.net/~andrew/sync/webrev.03/

 I'm not sure how much longer we can accept non-critical changes for jdk7.
 
 The approval process is getting stricter, and my tendency is to avoid all 
 changes to jdk7
 from now on, unless it is really critical or urgent. Mostly because I hate 
 red-tape. ;^)
 

Me too.  As OpenJDK8 repositories still aren't available [1], doesn't this mean 
OpenJDK
is effectively closed for business for at least the next three months?

 -kto
 

1. http://mail.openjdk.java.net/pipermail/gb-discuss/2011-April/000110.html
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: do not use --sync with df during sanity check

2011-05-04 Thread Dr Andrew John Hughes
On 17:35 Wed 04 May , Omair Majid wrote:
 Hi,
 
 Can someone please review the following webrev?
 
 http://cr.openjdk.java.net/~omajid/webrevs/no-sync/01/
 
 It modifies the sanity check (under linux) to use df without --sync when 
 it computes the free space. This is what is done in the solaris case. 
 The accuracy gained by using --sync is probably not worth the 
 performance loss caused by flushing disk buffers.
 
 The patch was originally written by Andrew John Hughes 
 (ahug...@redhat.com) and we have had this in icedtea6 for almost a year now.
 
 Thanks,
 Omair

Let's see if you do better than I did...

http://mail.openjdk.java.net/pipermail/build-dev/2010-June/003056.html
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: do not use --sync with df during sanity check

2011-05-04 Thread Dr Andrew John Hughes
On 15:37 Wed 04 May , David Katleman wrote:
 Would be interesting to know the original objection to Andrew's change 
 last year.
 

If there was one, it never reached me either publicly or otherwise.
The archives show no responses.

 Absent that, I see no reason this could not be removed and the change 
 looks fine.
 
 When originally implemented 10+ years ago, disk space was considerably 
 smaller, as were buffers, so an accurate count was more relevant.
 
 Today multiple builds on the same disk are fairly common, making the 
 check itself even less useful.
 
 Add to that, the information being gathered is just for a WARNING, the 
 build will continue, regardless.  Hardly the need for exacting accuracy, 
 especially since the df information is then compared to static estimates 
 of how much space a build will consume.
 
  Dave
  (katleman)
 

This is my thinking too.  I'm happy to extend the fix to just get rid of the
check altogether if that seems appropriate.

I'll need a bug ID for this.

 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: do not use --sync with df during sanity check

2011-05-04 Thread Dr Andrew John Hughes
On 16:27 Wed 04 May , Kelly O'Hair wrote:
 
 
 I agree we should toss the check.
 
  
  I'll need a bug ID for this.
 
 7042040: Remove disk space sanity check
 

Ok, if

http://cr.openjdk.java.net/~andrew/sync/webrev.02/

looks ok, I'll push it to the build tree.

 
 -kto
 
  

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Fwd: Heads up, new jaxp source drop

2011-05-02 Thread Dr Andrew John Hughes
On 09:23 Mon 02 May , Fredrik Öhrström wrote:
 Thanks!
 
 But I am of the strong opinion that the jaxp and jaxws source code should be
 committed into the jaxp/jaxws repositories when drops are made.
 
 //Fredrik
 

+1
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Heads up, new jaxp source drop

2011-05-02 Thread Dr Andrew John Hughes
On 08:40 Mon 02 May , Kelly O'Hair wrote:
 
 There has been a request for essentially that, more transparency on these 
 sources.
 The downloads are also painful, I know.
 
 The issue with these sources is that they are effectively 'generated 
 sources', transformed
 from master sources maintained elsewhere. Having them in the repository is 
 too tempting
 for many developers, changing them either purposely or by accident.
 I need a mechanism that keeps these sources protected from any change except 
 when being
 updated by a new delivery from the jaxp team (or jaxws).
 

There already is a mechanism... it's called don't approve such commits.

It's especially a problem when it comes to security fixes and the 'fix' is to 
change one
URL to another.

 -kto
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: After the last update

2011-04-28 Thread Dr Andrew John Hughes
On 14:27 Wed 27 Apr , Frédéric Le Mouël wrote:
 cd linux_i486_compiler1/product  ./test_gamma
 java full version 1.6.0_24-b07
 Using java runtime at: /opt/sun-jdk-1.6.0.24/jre
 java version 1.6.0_24
 Java(TM) SE Runtime Environment (build 1.6.0_24-b07)

^^^ This bit isn't OpenJDK.

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: hg: jdk7/deploy/langtools: 19 new changesets

2011-04-26 Thread Dr Andrew John Hughes
Is it necessary to have all these posted to build-dev?  There doesn't
seem to be any work going on, just merging as far as I can see.  Shouldn't
this be on its own deploy-dev list?  As far as I'm aware, the deploy team
don't do any OpenJDK work anyway.

On 01:30 Wed 09 Mar , igor.nekrestya...@oracle.com wrote:
 Changeset: c6cb387190ee
 Author:jjg
 Date:  2011-02-09 14:04 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/c6cb387190ee
 
 7016750: tools/javac/nio/CompileTest failing in nightly test
 Reviewed-by: mcimadamore
 
 ! test/tools/javac/nio/compileTest/CompileTest.java
 
 Changeset: 3ce4e1a07e92
 Author:jjg
 Date:  2011-02-09 14:10 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/3ce4e1a07e92
 
 7010792: remove bad debugging method from javac
 Reviewed-by: mcimadamore
 
 ! src/share/classes/com/sun/tools/javac/parser/Scanner.java
 
 Changeset: bfa59f3e84bd
 Author:jjg
 Date:  2011-02-09 18:26 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/bfa59f3e84bd
 
 7018447: langtools launcher template fails if tools run from their own 
 directory
 Reviewed-by: jjg
 Contributed-by: daniel.sm...@oracle.com
 
 ! src/share/bin/launcher.sh-template
 
 Changeset: a19b1f4f23c9
 Author:jjg
 Date:  2011-02-10 14:24 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/a19b1f4f23c9
 
 7018098: CacheFSInfo persists too long
 Reviewed-by: mcimadamore
 
 ! src/share/classes/com/sun/tools/javac/file/CacheFSInfo.java
 ! 
 src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java
 + test/tools/javac/file/T7018098.java
 
 Changeset: 747a7601b6d6
 Author:jjg
 Date:  2011-02-10 14:27 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/747a7601b6d6
 
 7018452: langtools not buildable on Mac
 Reviewed-by: ohair
 
 ! make/build.xml
 
 Changeset: e0c16199b2e0
 Author:jjg
 Date:  2011-02-10 15:05 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/e0c16199b2e0
 
 6485027: javac incorrectly handles relative paths in manifest classpath
 Reviewed-by: mcimadamore
 
 ! src/share/classes/com/sun/tools/javac/file/Paths.java
 ! test/tools/javac/Paths/Class-Path.sh
 + test/tools/javac/Paths/Class-Path2.sh
 ! test/tools/javac/Paths/Diagnostics.sh
 
 Changeset: bfeed79c70aa
 Author:jjg
 Date:  2011-02-11 17:10 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/bfeed79c70aa
 
 6505047: javax.lang.model.element.Element.getEnclosingElement() doesn't 
 return null for type parameter
 Reviewed-by: darcy
 
 + test/tools/javac/processing/model/element/TestTypeParameter.java
 
 Changeset: ef6c66215a93
 Author:jjg
 Date:  2011-02-14 14:27 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/ef6c66215a93
 
 7008433: Minor copyright changes
 Reviewed-by: jjg
 Contributed-by: kelly.oh...@oracle.com
 
 ! test/tools/javac/4917091/Test255.java
 ! test/tools/javac/4917091/Test256a.java
 ! test/tools/javac/4917091/Test256b.java
 
 Changeset: 351027202f60
 Author:mcimadamore
 Date:  2011-02-15 11:49 +
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/351027202f60
 
 7017664: Add listeners infrastracture to javac scopes
 Summary: Add listeners to javac scopes, added CompoundScope and correct 
 invalidation logic for ImplementationCache
 Reviewed-by: jjg
 
 ! src/share/classes/com/sun/tools/javac/code/Scope.java
 ! src/share/classes/com/sun/tools/javac/code/Symbol.java
 ! src/share/classes/com/sun/tools/javac/code/Types.java
 ! src/share/classes/com/sun/tools/javac/comp/Check.java
 + test/tools/javac/scope/7017664/CompoundScopeTest.java
 + test/tools/javac/scope/7017664/ImplementationCacheTest.java
 
 Changeset: fa0e4e1916f4
 Author:mcimadamore
 Date:  2011-02-15 11:51 +
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/fa0e4e1916f4
 
 7017104: improve error reporting for uncaught/undeclared exceptions from 
 try-with-resources
 Summary: twr should generate better error message when uncaught exceptions 
 are thrown by implicit call of close() method
 Reviewed-by: jjg
 
 ! src/share/classes/com/sun/tools/javac/comp/Flow.java
 ! src/share/classes/com/sun/tools/javac/resources/compiler.properties
 ! test/tools/javac/TryWithResources/ResourceInterface.out
 ! test/tools/javac/TryWithResources/TwrFlow.out
 + test/tools/javac/diags/examples/UnreportedExceptionImplicitClose.java
 
 Changeset: 846d6644bb70
 Author:lana
 Date:  2011-02-15 08:35 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/846d6644bb70
 
 Merge
 
 
 Changeset: 0c24826853b2
 Author:dlsmith
 Date:  2011-02-16 10:27 -0800
 URL:   http://hg.openjdk.java.net/jdk7/deploy/langtools/rev/0c24826853b2
 
 6990136: Cleanup use of Type.clone()
 Summary: Introduced factory methods in class Types which can be used rather 
 than clone().
 Reviewed-by: jjg, mcimadamore
 
 ! 

Re: Need reviewer: CC_VER checks on compiler options

2011-04-21 Thread Dr Andrew John Hughes
On 14:33 Thu 21 Apr , Kelly O'Hair wrote:
 
 This started out as an annoyance around the use of -Wno-clobber on Linux when 
 the gcc might
 not support it. Turned into fixing several CC_VER checks in the makefiles:
 
 7038711: Fix CC_VER checks for compiler options, fix use of -Wno-clobber
 http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-ccver/webrev/
 
 -kto
 

Is there a reason for keeping this static linking at all?

-ifeq ($(CC_VER_MAJOR), 3)
-OTHER_LDFLAGS  += -static-libgcc
+ifeq ($(CC_MAJORVER),3)
+  OTHER_LDFLAGS  += -static-libgcc

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Need reviewer: Exceptions to mapfile rule on shared libraries

2011-04-20 Thread Dr Andrew John Hughes
On 15:14 Fri 15 Apr , Phil Race wrote:
 For jpeg its something we could consider for JDK 8 although I think its been
 called libjpeg since JDK 1.0 without apparent problems.

But you use an in-tree libjpeg (at least at present).

Having the option of linking against a system libjpeg at compile time would
mean -o libjpeg.so -l jpeg, with two different libjpegs.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Building open-jdk7 en gentoo

2011-04-19 Thread Dr Andrew John Hughes
On 11:41 Tue 19 Apr , Kelly O'Hair wrote:
 
 I imagine there are probably hundreds of variable names that if set in the 
 environment,
 could impact the build, on purpose or by accident :^(.
 We do check for JAVA_HOME and LD_LIBRARY_PATH.
 
 Is JAVAC some kind of typical or standard environment variable that people 
 set?
 I've never seen any use of the name JAVAC in the environment.
 If it's a common use, then yes, maybe a sanity check is in order.
 

I hit this problem a lot with Gentoo and OpenJDK in the early days.  IcedTea 
unsets
JAVAC for this reason.  I have no idea why Gentoo sets the variable.  It is 
pretty 
much alone among GNU/Linux distros in doing so and I have no idea why it does.  
Then
again, daily Gentoo usage involves a lot more Java building than on regular 
distros
as Java packages are built from source.

The actual issue is completely broken use of JAVAC from the environment by the 
OpenJDK
build (lovely old CORBA in particular).  Instead of replacing:

javac ${OPTS} @files

with

${JAVAC} ${OPTS} @files

it uses

${JAVAC} @files

which is clearly going to break the build as things like the classpath are 
being lost.

A sanity check is probably a good first start, but maybe fixing the build to 
use it properly
might be useful long term.  I have no idea why the build is trying to use it to 
begin with,
except maybe a genuine namespace collision.

Sorry for not reporting this way back.  I was hitting it before I was working 
on IcedTea/OpenJDK
full time and before there was anything like the community there is now around 
this project.

 -kto
 
 On Apr 19, 2011, at 4:53 AM, Frédéric Le Mouël wrote:
 
  Hi all,
  
  I just succeed in compiling open-jdk7 on a Linux gentoo.
  FYI, after fighting a bit, I had to unset JAVAC environment variable
  to let it compile. I think that this checking should be done
  in the sanity makefile target.
  
  My two cents,
  FLM.
  -- 
  Frédéric Le Mouël, Associate Professor | Phone: (+33|0)4 72 43 64 22
  INRIA Amazones Team / CITI Laboratory  | Fax  : (+33|0)4 72 43 62 27
  INSA Lyon - Claude Chappe Building | Room : 235
  6 avenue des Arts  | frederic.le-mo...@insa-lyon.fr
  F-69621 Villeurbanne Cedex, France | http://citi.insa-lyon.fr/~flemouel
  
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: openJDK7 build fails on 64bit cblfs linux

2011-04-18 Thread Dr Andrew John Hughes
On 18:03 Sat 16 Apr , luxInteg wrote:

snip...

  What kind of Linux is this?
 
 This is blfs linux built by compiling sources from scratch.

BLFS has instructions on building IcedTea6 which uses OpenJDK6 here:

http://www.linuxfromscratch.org/blfs/view/cvs/general/icedtea6.html
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Need reviewer: Exceptions to mapfile rule on shared libraries

2011-04-13 Thread Dr Andrew John Hughes
On 16:18 Tue 12 Apr , Kelly O'Hair wrote:
 
 On Apr 12, 2011, at 3:58 PM, Dr Andrew John Hughes wrote:
 
  On 13:46 Tue 12 Apr , Kelly O'Hair wrote:
  
  Some shared libraries do not have and will not have mapfiles, at least for 
  now, we
  give these an exception to the mapfile check (which just issues a warning).
  
  7033957: Library built without a mapfile: libxinerama.so
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-mapfile-warning-sparc/webrev/
  
  -kto
  
  
  On a related note, is it wise to have these libraries using the same names 
  as system
  libraries?  libxinerama is the same as libXinerama with the exception of 
  case.  I
  believe the JDK also has a libjpeg which is identically named to the system 
  install.
  Could it not be libjxinerama.so, libjavajpeg.so or some such?
 
 I'll CC Phil.
 
 Given the age of these libraries, I'm very hesitant to change the names.
 
 As far as library naming in general, I can see your point, but I'm not sure 
 we could
 change them now. Maybe in JDK8?  But not after some discussions on what the 
 impact
 might be. :^(
 

Yes, I wasn't expecting anything immediate, but I thought the topic
needed raising.  It's something I've been musing on.

My particular concern is things like libjpeg where we'd like to have
the option to link against the system install instead.  IcedTea
currently has a mass of dlopen/sym call additions to support a system
libjpeg that I don't really fancy trying to upstream.  I think having
the library calling libjpeg.so might be a barrier to just linking at
compile-time, but I have yet to try it.

 -kto
 

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Need reviewer: Exceptions to mapfile rule on shared libraries

2011-04-12 Thread Dr Andrew John Hughes
On 13:46 Tue 12 Apr , Kelly O'Hair wrote:
 
 Some shared libraries do not have and will not have mapfiles, at least for 
 now, we
 give these an exception to the mapfile check (which just issues a warning).
 
 7033957: Library built without a mapfile: libxinerama.so
 http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-mapfile-warning-sparc/webrev/
 
 -kto
 

On a related note, is it wise to have these libraries using the same names as 
system
libraries?  libxinerama is the same as libXinerama with the exception of case.  
I
believe the JDK also has a libjpeg which is identically named to the system 
install.
Could it not be libjxinerama.so, libjavajpeg.so or some such?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Avoid certain functions in C/C++

2011-04-07 Thread Dr Andrew John Hughes
On 08:50 Wed 06 Apr , Kelly O'Hair wrote:
 
 Just an FYI...
 
 Anyone working with C/C++ should be well aware of the functions we should be 
 avoiding:
   http://hub.opensolaris.org/bin/view/Community+Group+security/funclist
 
 Microsoft has used the term banned and has a much more extensive list:
   http://msdn.microsoft.com/en-us/library/bb288454.aspx
 
 Unfortunately, we often cannot use the recommended replacements unless we 
 know that the
 replacement is available on all platforms, however, some are fairly obvious, 
 like using snprintf
 instead of sprintf.
 
 Functions like sprintf, vsprintf, strcat, strcpy, access, chmod, chown, 
 lchown, chdir, ...
 all have know issues or have caused too many common mistakes over the years, 
 we need to
 avoid the use of these functions.
 

Thanks for the list.  That'll surely prove a useful reference.

Have you considered using autoconf in OpenJDK?  It was pretty much designed for 
just this
scenario (checking the availability of functions).

 -kto

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: [PATCH REVIEW]: Include Shark code in the build again

2011-03-31 Thread Dr Andrew John Hughes
On 20:15 Thu 31 Mar , David Holmes wrote:
 Dr Andrew John Hughes said the following on 03/31/11 06:31:
  On 09:42 Wed 30 Mar , Kelly O'Hair wrote:
  On Mar 30, 2011, at 9:26 AM, Dr Andrew John Hughes wrote:
 
  This change (arrived at by both myself and Gary Benson separately):
 
  http://cr.openjdk.java.net/~gbenson/zero-shark-fixes-04-1/
 
  fixes the issue by adding Shark back into the mix.
 
  Kelly, can you approve these build changes?
  Looks fine to me.
 
  
  Thanks, so now I just need a HotSpot dev to give it a bug ID and push it 
  through
  their JPRT thing...
 
 7032775 filed ... working on the push
 

Thanks David.

 David
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: [PATCH REVIEW]: Include Shark code in the build again

2011-03-30 Thread Dr Andrew John Hughes
On 09:42 Wed 30 Mar , Kelly O'Hair wrote:
 
 On Mar 30, 2011, at 9:26 AM, Dr Andrew John Hughes wrote:
 
  This change (arrived at by both myself and Gary Benson separately):
  
  http://cr.openjdk.java.net/~gbenson/zero-shark-fixes-04-1/
  
  fixes the issue by adding Shark back into the mix.
  
  Kelly, can you approve these build changes?
 
 Looks fine to me.
 

Thanks, so now I just need a HotSpot dev to give it a bug ID and push it through
their JPRT thing...

 ---
 Although overall, I don't understand why someone used so many := assignments.
 I usually reserve := for special assignments that require a shell or complex 
 evaluation.
 The := forces an expansion of the right side on the spot, so any later 
 changes to the
 variables used on the right will have no impact on your variable. In 
 Makefiles, that's
 usually what you don't want, but I suppose there are cases where that is 
 expected.
 By using := all the time, you have created a specific order dependency on the 
 variables, but
 whatever, ...
 

I've never really used := either, and I see your point, but that's not really 
something to change
in this changeset :-)

 -kto
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: How to check out the openjdk source code from the mercurial repositories

2011-03-15 Thread Dr Andrew John Hughes
On 08:43 Tue 15 Mar , Kelly O'Hair wrote:
 
 On Mar 15, 2011, at 2:05 AM, Steve Poole wrote:
 
  
  A singular process that everyone uses?  Good Luck with that. I think that 
  is called herding cats. :^)
  Sorry, I've been doing this too long, if there is a variation on doing 
  development and one person finds
  it productive for them, they will use it.
  
  Sorry  - I was not being clear.I meant that you must have one singular 
  process that is the agreed official process.   If someone decides to do 
  something different that's ok -  provided they understand that they have to 
  take their lumps when and if they cause a break in the main build or cause 
  testcases to fail. The important point I was trying to make is that the 
  process used by contributors must always work.  In my opinion the best way 
  to achieve that is to ensure it's in use day by day.
 
 Ah, yes we have the official Release Engineering build system and tool 
 requirements.
 But it's more in the form of a list of versions and fairly controlled build 
 systems used by Release Engineering
 to perform the nightly, weekly promoted, and final product builds.
 
 The makefiles have sanity checks to try and police these versions and will 
 issue warning messages when what
 you are using differs, and fatal sanity errors there is a high risk of a bad 
 build or build failures given the version
 of some component.
 

I think he means not so much your RE processes, but the method documented in 
the build documentation.

 These sanity rules were relaxed quite a bit when we open sourced due to the 
 larger variety of build systems
 and compiler versions being used out there.
 There is no ./configure mechanism and no 'download and install' scripts that 
 install all the specific tools needed
 to do a build, partially because solving this problem for all the Windows, 
 Solaris, and Linux systems was not
 easy. Linux is easy in this regard, Solaris a bit harder, Windows is well...  
 tricky. :^(
 

We did that already.  It's called IcedTea.

 -kto
 
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Request for review: Build changes in preparation for SE-Embedded support

2011-03-15 Thread Dr Andrew John Hughes
On 07:59 Wed 16 Mar , David Holmes wrote:
 Hi Andrew,
 
 See inline ...
 
 Dr Andrew John Hughes said the following on 03/16/11 07:43:
  On 18:05 Tue 15 Mar , David Holmes wrote:
  BUILD_CLIENT_ONLY:
 
  http://cr.openjdk.java.net/~dholmes/jdk-bco/webrev/
 
  Provides support for building a JDK for which only the client VM is 
  required and/or available. Essentially avoids copying any server 
  components and creates a jvm.cfg file that aliases -server to -client. 
  If BUILD_CLIENT_ONLY is selected on a 64-bit build then a sanity warning 
  is issued. (This is only a warning because you can actually build 64-bit 
  client Hotspot, it just isn't supported and you can't directly build it 
  in a full JDK build without hacking a couple of Makefiles).
 
  
  There still seem to be some odd whitespace changes in this one.  Otherwise,
  looks sensible.
 
 emacs reported odd whitespace (space+Tab) in one of the makefiles so I 
 fixed it.
 

Ok.  I'd suggest keeping such changes separate, but you probably don't want to 
file
a CR just for this...

  ---
 
  Cross-compilation support:
 
  http://cr.openjdk.java.net/~dholmes/jdk-crosscomp/webrev/
 
  Basic support for cross-compilation, plus flags/settings etc for basic 
  ARM and PPC support in the shared open code. Cross-compilation works as 
  follows:
  - you must set the ALT_COMPILER_PATH and ALT_OPENWIN_HOME to point to 
  your cross-compiler (you'll also need freetype configured correctly)
  
  What is ALT_OPENWIN_HOME?  And why should using the cross-compilation build
  mean that 'X11 headers are not under /usr/include'?  Why 'OPENWIN' and not
  'X11'?
 
 OPENWIN_HOME/ALT_OPENWIN_HOME are the variables used to control where to 
 find the graphics includes and libraries. These are pre-existing build 
 variables (though part of the AWT update forward ports some changes from 
 JDK6 that replaces hard-wired paths with use of these variables). When 
 cross-compiling you need to use the graphics headers that are part of 
 your cross-compilation toolset, not those on your build system (some 
 compilers will even warn you if you do use the system ones).
 
 OPENWIN is a legacy name from the old Solaris/SunOS graphics stack:
 
 http://en.wikipedia.org/wiki/OpenWindows
 

Ok, so it's a legacy name for X11 that means something to Solaris users :-)

 
  - CROSS_COMPILE_ARCH should be set to the architecture you are building 
  for eg ARM, PPC
  - EXTRA_CFLAGS can be used to pass cross-compilation specific compile 
  options
  - HOST_CC is a compiler that can produces binaries that can run on the 
  build host (used in a few parts of the JDK build). This defaults to gcc 
  on Linux but must be explicitly set elsewhere
  - Some build features such as freetype-check and 
  binary-file-verification are disabled as they don't apply when 
  cross-compiling
 
  
  Rest seems ok.
 
 Thanks!
 
 Once I have Kelly's ok I'll create the CRs and get this pushed ASAP.
 
 David
 -
 
  The above will form the basis of the documentation for these changes, 
  but as it seems the docs live in a different repository (???) I'll need 
  to file a separate CR etc for that.
 
  Thanks for the reviews.
 
  Kelly: I will need to push these via TL not BUILD due to various 
  dependencies. However I also need the module changes to propagate from 
  BUILD to TL before doing so. :(
 
  David Holmes
  Java SE Embedded Group
  

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: JDK8 Preliminary Repository Layout

2011-03-10 Thread Dr Andrew John Hughes
On 19:27 Wed 09 Mar , Phil Race wrote:
 Andrew,
 
 Whilst almost everything you wrote is something I agree with (like getting
 jcheck out there, not adding additional build tools/complexity), the one
 thing I quite like right now comes up here I'd like to keep is the 
 separate repos.
 Its not just hotspot,  but I've been working on JDK for a long time now,
 since before there was a hotspot and last year I built hotspot for the 
 first time,
 and even then only because I was working on the VS2010 compiler upgrade.
 
 So I like that hotspot and jaxp/jaxws can be pre-built and pulled from an
 import JDK in a way that doesn't slow down my builds, bloat the source
 I need to pull via hg etc etc.
 

Well HotSpot is one thing I think works well as a separate repository.
It allows us to have a stable branch for OpenJDK6 for example.  The only
real thing that stops it being independent is the servicability agent,
which, IME, would be better held in the JDK.  That would also mean that
the existing rules for building java classes could be used, rather than
reinventing it all in the HotSpot makefiles as at present.

Likewise, I think langtools works as a separate entity.  The other three
(corba, jaxp, jaxws) only really exist separately because no-one on the
OpenJDK project takes care of them.  JAXP and JAXWS get irregular build
drops, but I don't think I've seen anything more than build fixes for
CORBA.  They would be less work if maintaining in the JDK directory
as they'd share the build infrastructure.  They are hardly huge (unlike
HotSpot vs. JDK) and there are dependencies between the JDK and these.

I probably should provide some context.  During this week, I've been
looking at getting OpenJDK bootstrapping well when OpenJDK is not the
bootstrap JDK (i.e. sun.* and com.sun.* classes are not available).
To cut a long story short, it's a week later and I'm still only at
HotSpot.  So far, I've found dependencies in all but JAXP that mean
that the build has to be patched to reference other repositories
(mainly JDK but also langtools in one case).  JAXWS has to be able to
find com.sun.net.httpserver, annotation/javadoc classes and the JAXP
classes, while CORBA needs the sun.tools stuff and HotSpot needs
com.sun.jdi for the servicability agent.

Now you may think this isn't relevant and expect people to just use
OpenJDK to build.  Well, this also becomes a problem if one of these
APIs changes.  You're building stuff in CORBA, JAXWS and HotSpot against
a different API than the one they will eventually run against, hiding
issues which could be exposed at build time until run time.  

I've already run across one place where this is true.  HotSpot builds
the servicability agent with -source 1.4 -target 1.4.  Why? Because
of incompatibilies between its implementation and the com.sun.jdi
interfaces which require ComparableT not Comparable.

 Maybe this doesn't matter to people who want to pull a full forest but
 its great for those working on specific components. Which I believe is
 most developers.
 

It's hard to generalise, especially with an open source project. These
mailing lists show that there will be quite a few newbies who follow
the build guides and try downloading the entire forest.  As was mentioned
elsewhere in this discussion, the tarballs would be better for this
scenario as you don't really need the repos unless you're going to create
a patch (and even then, there are ways to do that without them).

My concern isn't the pull, but simply what makes best sense in terms
of maintenance, both of the code and the build system.  Having independent
repositories also means duplicate build code and cross-repo dependencies.
With HotSpot and langtools it makes sense as you have independent entities
(the VM and javac et. al.).  I don't think it makes sense with code that
has to then be imported into the JDK build.

 -phil.
 
 
 On 3/9/2011 4:48 PM, Dr Andrew John Hughes wrote:
  On 18:32 Tue 08 Mar , Kelly O'Hair wrote:
  First, if we talk about the mercurial forests, it has nothing to do with 
  the Mercurial Forest Extension.
  What we really have is a set of nested repositories, sometimes called our 
  forest of repositories.
 
  This email is just about the actual layout of the repositories for jdk8.
 
  The initial thinking at this time is that the openjdk8 open forest will 
  look very much like openjdk7:
 
  openjdk8/
   corba/
   jaxp/
   jaxws/
   jdk/
   hotspot/
   langtools/
 
  7 repositories total. Cloned from the openjdk7 repos so we will have all 
  the openjdk7 history in the openjdk8 repositories.
 
  Just for discussion sake, not that you can see what is behind the closed 
  curtains, we are considering changing
  the closed overlay a little, from the current jdk7 (bold is a closed repo):
 
 jdk7/
   corba/
   deploy/
   jaxp/
   jaxws/
   jdk/
 src/closed/
 test/closed
 make/closed/
   hotspot/
 src

Re: How to check out the openjdk source code from the mercurial repositories

2011-03-10 Thread Dr Andrew John Hughes
On 06:40 Fri 11 Mar , David Holmes wrote:
 Fredrik Öhrström said the following on 03/10/11 20:22:
  I think it is important that a recent stock mercurial install
  can check out the full openjdk with a single clone
  command.
  
  I.e. you should not have to install special extensions just
  to get the source code.
 
 That's a bit of a leading/loaded question ;-)
 
  There are several ways this can be solved. But before
  we dive into discussions on the possible alternatives,
  I would like to see who else think it is a good idea.
 
 Stepping up a level, an initial download of openjdk need not involve
 using mercurial at all. You can simply download a stable snapshot as a
 tar file; 

This makes much more sense as a starting point for new users over having
to handle Mercurial and checkouts.  It works fine if you just want to _use_
the latest and greatest, not hack on it.

 or download an install script that will do whatever is
 necessary behind the scenes to get a complete openjdk.

I don't know how that would work.  I guess IcedTea comes close to this idea
in that it detects the needed settings for the build, rather than them all
having to be passed as make variables.

 Personally I'd
 like to see that include the basic build tools as well - in which case I
 don't care about special extensions as I just get a working toolkit. 

What do you mean by this?  Can you give an example?

 I
 think in the scheme of things the process of getting the source code for
 the openjdk is the easiest part of the process. Depending on your
 platform setting up mercurial so that you could do that single clone
 command may be a far greater problem. And setting up the build
 environment an order of magnitude greater again.
 
  Clearly, comments from people outside of Oracle
  are the most important!
 
 Clearly. :)
 

Well as a person outside Oracle, I'd agree that getting a checkout is the
least of my problems.  Configuring builds and fixing bugs is a much greater
problem than having to write a few extra 'hg clone' commands to get a full
checkout.  It's just a matter of using a for loop or cobbling together a
shell script as Kelly has done.  Trivial stuff for anyone planning to
build or hack on OpenJDK.

 Cheers,
 David
 
  (When the source is checked out, then there can be
  mercurial extensions in the checked out source code
  for example jcheck that assists in sanity tests before
  committing. So this does not limit the actual extensions
  used later. Only that we should not improve on the versioning
  part of mercurial.)
  

jcheck is server-side.  It needs to be released as Free Software not
so we can all run it but so we can see what the heck it's doing and
fix issues with it.

  //Fredrik
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Preliminary request for review: 7025066 Build system changes to support SE Embedded integration

2011-03-10 Thread Dr Andrew John Hughes
On 17:35 Thu 10 Mar , David Holmes wrote:
 Dr Andrew John Hughes said the following on 03/10/11 10:26:
  On 22:09 Wed 09 Mar , David Holmes wrote:
  My original reply does not seem to have made it to build-dev.
 
  I've updated the webrev again to accommodate openjdk builds that set 
  REDUCED_JRE and/or REDUCED_HEADLESS_JRE. The main changes are:
 
  
  Another problem with these webrevs is that you don't know if someone
  changed it.  Neither do you then have any history of what went before.
 
 Sorry, this was just a preliminary RFR so I didn't set up the webrev 
 versioning.
 

My issue was more a personal distaste for webrevs than anything you did
wrong.  I just find it much easier if everything is in the e-mail and
can be commented on inline rather than on some website that has to be
loaded up in a separate window and can change or even disappear.  It's
especially true for big patches like this, where you really need to
break the patch down in the mail.

 I'm looking into a new structure where the JAVASE_EMBEDDED stuff is 
 factored out into Defs-embedded.gmk and Release-embedded.gmk. This will 
 relegate the reduced-jre targets to being relevant to embedded only and 
 anyone not interested just doesn't look in those files.
 

My fear is not so much Makefile clutter as that untested options can bit rot.
People make modifications in one area and these unused options are missed.
That's actually more likely if you squirrel it away in a separate file.

 I'm also looking at breaking this into three components
 - build-client-only (if I can't somehow hide that in the embedded bits)
 - basic cross compilation support
 - SE-Embedded support (including things like COMPRESS_JARS and 
 ZIP_CAN_USE_MMAP)
 
 Stay tuned.
 
 Thanks again for the feedback.
 

Thanks.

 David
 
  - don't try to run freetypecheck when cross-compiling
  - delete build of freetypecheck from make/tools/Makefile as Sanity.gmk 
  will build if needed
  
  These sound sensible changes.  We've run into similar issues with the
  freetype test in IcedTea too.
  
  - for OpenJDK builds leave the JRE fonts alone (the Lucida fonts that we 
  don't delete are not part of OpenJDK)
  
  Ah, that solves what I just explained in my last reply.
  
  David
  -
 
  David Holmes said the following on 03/09/11 09:33:
  Andrew,
 
  Dr Andrew John Hughes said the following on 03/09/11 03:24:
  On 10:51 Tue 08 Mar , David Holmes wrote:
  Just to clarify for people, BUILD_CLIENT_ONLY refers to building 
  the client VM only.
  Some of these variables should be documented in the top level 
  README-builds.html file, but that
  can be done under a separate CR if necessary.
 
  What happens if there is no client VM e.g. x86_64?
  If you are not building a client-only configuration then you should 
  not set BUILD_CLIENT_ONLY. It's main purpose is to not attempt to 
  copy lib/arch/server/*.so files into the JRE/JDK image when they 
  don't exist.
 
  But what if someone does?  Will the sanity check not catch this?
  If you specify BUILD_CLIENT_ONLY then you are telling the build system 
  to not try and copy/define anything pertaining to the server VM. Whether 
  or not you've built a server VM in such circumstances is irrelevant and 
  certainly not a fatal error requiring a sanity check (I'm not even sure 
  the sanity check can tell).
 
  I can certainly refactor into general flags, however applying those 
  flags to all parts of the JDK build process that might want to use 
  them is out-of-scope for what I am trying to achieve here (I just 
  won't have time to do this and go through a myriad of builds and test 
  runs). I'd also prefer not to create multiple changesets, which 
  implies multiple CRs. I can't easily test these things in isolation, 
  and individual changesets would require complete build/test cycles 
  that I again do not have time to perform.
 
  I can see the issue with it taking more time, but committing the patch 
  in its
  current form is unfair on others who now have a more convoluted build 
  system
  to deal with (and it's already bad to start with) and no gain from the 
  patch.
  The intent is that anyone not setting any of the new build variables 
  will be unaffected by these changes. They may benefit from the basic 
  cross-compilation support, and the ability to produce a client-only 
  JRE/JDK.
 
  Does the revised structure improve things from your perspective?
 
  Does your employer not allocate sufficient time to do the best work 
  you can
  on such changes?
  We all have schedules and deadlines to meet. These changes have been 
  percolating for sometime now and my window for getting them out is quite 
  narrow. My problem is exacerbated by the fact that JDK7 is a fast moving 
  target at the moment and so I'm continually having to merge changes, 
  update things that break my build, and go through the rebuild cycle 
  again to verify things. Hence I want to try and push things through in 
  one hit

Re: Preliminary request for review: 7025066 Build system changes to support SE Embedded integration

2011-03-09 Thread Dr Andrew John Hughes
On 09:33 Wed 09 Mar , David Holmes wrote:
 Andrew,
 
 Dr Andrew John Hughes said the following on 03/09/11 03:24:
  On 10:51 Tue 08 Mar , David Holmes wrote:
  Just to clarify for people, BUILD_CLIENT_ONLY refers to building the 
  client VM only.
  Some of these variables should be documented in the top level 
  README-builds.html file, but that
  can be done under a separate CR if necessary.
 
  What happens if there is no client VM e.g. x86_64?
  If you are not building a client-only configuration then you should not 
  set BUILD_CLIENT_ONLY. It's main purpose is to not attempt to copy 
  lib/arch/server/*.so files into the JRE/JDK image when they don't exist.
 
  
  But what if someone does?  Will the sanity check not catch this?
 
 If you specify BUILD_CLIENT_ONLY then you are telling the build system 
 to not try and copy/define anything pertaining to the server VM. Whether 
 or not you've built a server VM in such circumstances is irrelevant and 
 certainly not a fatal error requiring a sanity check (I'm not even sure 
 the sanity check can tell).
 

I'm not saying it should define anything with respect to the server VM,
merely that x86_64 (and possibly other platforms in future) and
BUILD_CLIENT_ONLY are incompatible and the sanity check could catch this
with an arch check.

  I can certainly refactor into general flags, however applying those 
  flags to all parts of the JDK build process that might want to use them 
  is out-of-scope for what I am trying to achieve here (I just won't have 
  time to do this and go through a myriad of builds and test runs). I'd 
  also prefer not to create multiple changesets, which implies multiple 
  CRs. I can't easily test these things in isolation, and individual 
  changesets would require complete build/test cycles that I again do not 
  have time to perform.
 
  
  I can see the issue with it taking more time, but committing the patch in 
  its
  current form is unfair on others who now have a more convoluted build system
  to deal with (and it's already bad to start with) and no gain from the 
  patch.
 
 The intent is that anyone not setting any of the new build variables 
 will be unaffected by these changes. They may benefit from the basic 
 cross-compilation support, and the ability to produce a client-only JRE/JDK.
 

It also means that someone will need to regularly maintain the settings created
by these new variables.  I think it's more likely that this work would be tested
and maintained by others if individual options were available without requesting
an entirely different build.  This is especially the case with JAVASE_EMBEDDED
as I'm not sure what that even equates to (except some future Oracle product).

 Does the revised structure improve things from your perspective?
 

I'm not sure what 'revised structure' you're referring to.

  Does your employer not allocate sufficient time to do the best work you can
  on such changes?
 
 We all have schedules and deadlines to meet. These changes have been 
 percolating for sometime now and my window for getting them out is quite 
 narrow. My problem is exacerbated by the fact that JDK7 is a fast moving 
 target at the moment and so I'm continually having to merge changes, 
 update things that break my build, and go through the rebuild cycle 
 again to verify things. Hence I want to try and push things through in 
 one hit (in actuality several other changes that are more stand-alone 
 have already been broken off from this).
 

Yes, we're all subject to the fast development pace of OpenJDK7, but I
guess that will start to slow down when OpenJDK8 forks off.  I would
have thought committing stuff in small chunks was more amenable to
this situation, as there is less chance of something disrupting it
while you're working on it and you can get it in the codebase quicker.

  Has this been tested on an OpenJDK build at all?  It also seems to create 
  a fonts.dir file with fonts
  that aren't part of OpenJDK.
  No, not OpenJDK. I have done a regular JDK build, but not OpenJDK. And I 
  have not attempted to test things like BUILD_CLIENT_ONLY outside of a 
  JAVASE_EMBEDDED build.
 
  With regard to the fonts, my understanding is that we simply define a 
  subset of the fonts used in the regular JDK. I have no idea how such 
  fonts get shipped nor whether they are part of the OpenJDK or only 
  Oracle's JDK.
 
  
  An OpenJDK build definitely needs to be performed before this is committed,
  as I think it may break the build or, at the very least, create references
  to non-existent fonts.
 
 I have no problem doing an OpenJDK build on this, I will attempt an 
 OpenJDK build that uses all of the new flags except for actually 
 defining JAVASE_EMBEDDED. That said I still don't understand the font 
 issue. We delete a bunch of fonts and then create a fonts.dir file that 
 refers to the set of fonts we didn't delete. Are these fonts not present 
 in an OpenJDK build? I can make that part conditional

Re: JDK8 Preliminary Repository Layout

2011-03-09 Thread Dr Andrew John Hughes
On 18:32 Tue 08 Mar , Kelly O'Hair wrote:
 
 First, if we talk about the mercurial forests, it has nothing to do with the 
 Mercurial Forest Extension.
 What we really have is a set of nested repositories, sometimes called our 
 forest of repositories.
 
 This email is just about the actual layout of the repositories for jdk8.
 
 The initial thinking at this time is that the openjdk8 open forest will look 
 very much like openjdk7:
 
openjdk8/
 corba/
 jaxp/
 jaxws/
 jdk/
 hotspot/
 langtools/
 
 7 repositories total. Cloned from the openjdk7 repos so we will have all the 
 openjdk7 history in the openjdk8 repositories.
 
 Just for discussion sake, not that you can see what is behind the closed 
 curtains, we are considering changing
 the closed overlay a little, from the current jdk7 (bold is a closed repo):
 
   jdk7/
 corba/
 deploy/
 jaxp/
 jaxws/
 jdk/
   src/closed/
   test/closed
   make/closed/
 hotspot/
   src/closed/
   test/closed
 install/
 langtools/
 pubs/
 
 To something a little simplier like:
 
   jdk8/
 corba/
 deploy/
 jaxp/
 jaxws/
 jdk/
   closed/{src,test,make}
 hotspot/
   closed/{src,test,make}
 install/
 langtools/
 pubs/
 
 The existence of these closed repos should not be a surprise, and it should 
 have no impact on the openjdk itself.
 We are just trying to consolidate and have fewer repositories. Just thought 
 it might be of interest.
 

Not surprised.  Also don't really care where you put them as I don't seem to 
have them either way ;-)

What I would ask is do the projects get this as well?  Specifially, I'd like an 
icedtea/jdk8 at the same time please.

 But back to the openjdk8 forest.
 
 Other ideas were considered:
   * Folding jaxp/jaxws into the root or jdk8/jdk repo

Sounds good.  jdk8/jdk would make more sense as jaxws depends on some classes 
that are in the jdk
tree (com.sun.net.httpserver) and we could then get rid of the Ant junk.  It 
would be good to have
the code there too so we can once again track changes.  The recent security 
issue was a nightmare
due to the unavailability of the source code.

   * Separating out the jdk demos from the jdk repo to a separate demos 
 repository

Makes sense.  Having an option to disable them would be a good first step.

   * Separating out the client (awt/swing/etc) code from the jdk repo into a 
 separate repo

Why would we want to do this?  IME, there are lots of interdependencies with 
the other code and
this would make the build a nightmare.

   * Updating the corba sources changing it to an ant build

Please, no!  These Ant builds are already a nightmare and an order of magniture 
harder to debug than
the Makefiles.  Why you want to require a build system that requires an entire 
JDK setup (possibly
bringing another into the mix beyond the bootstrap JDK) is beyond me.

What would make much more sense is to just add corba into the jdk tree.  It 
actually requires sun.tools
classes to compile rmic anyway so it would make much more sense there.

Hey, I'd just make it all one repository as they all interdepend on each other, 
but the HotSpot folks
probably wouldn't like that... ;-)   Moving the HotSpot servicability agent 
into the JDK, where the
interfaces it uses lives, might be a good idea though.  I'm currently working 
on a patch which fixes
up a mismatch between the HotSpot SA implementation and the interfaces in the 
JDK which has existed
for who knows how long (it's certainly in OpenJDK6)...

 
 None of this seemed urgent to do out of the gate, or delay getting a 
 preliminary jdk8 layout defined.
 

No, I agree with that.  Splitting off OpenJDK8 already seems overdue.

 I know there is some interest in pulling the actual jaxp/jaxws sources back 
 into their repos, that will
 be discussed separately, we have multiple issues with that, but I am well 
 aware of the pains that the
 source drop zip files have created.
 

The problem is less technical and more social; there is no obvious way to 
interact with the JAXP and JAXWS
side of things.  We just get these zips of code with no idea of what changes 
are in there or why.

Basically, they shouldn't work either like they do now or did before, but like 
everything else in OpenJDK
with visible commits.  Hey, maybe we could even have some mailing list 
discussion if we're very lucky...

 As always, we would like to get comments, or additional ideas.
 
 Separate topics:
   * Forest Extension and it's replacement

Do we really need one?  Current status quo (get_source.sh) works fine.

   * Mercurial server update to 1.8 or newer

I guess this is related to the forest issue.

   * BuildTest system [1]
   * Open bug tracking system [2]
 

You missed off open sourcing that jcheck thing... that's the biggest problem I 
have with
the Mercurial server.  :-)

 -kto
 
 [1]   
 

Re: Preliminary request for review: 7025066 Build system changes to support SE Embedded integration

2011-03-08 Thread Dr Andrew John Hughes
On 10:51 Tue 08 Mar , David Holmes wrote:
 Andrew,
 
 Many thanks for the feedback:
 
 Dr Andrew John Hughes said the following on 03/08/11 04:30:
  On 09:39 Mon 07 Mar , Kelly O'Hair wrote:
  
  General comments:
  
  * Could this not be broken up into smaller changesets to make it easier to 
  review and catch regressions?
 
 In theory probably, in practice, not really. Please see below.
 
  * There seem to be some whitespace changes that shouldn't be there.
  
  e.g.
  
  -   sane-msvcrt_path \
  +   sane-msvcrt_path \
 
 This will all be double-checked before the push.
 
  Just to clarify for people, BUILD_CLIENT_ONLY refers to building the 
  client VM only.
  Some of these variables should be documented in the top level 
  README-builds.html file, but that
  can be done under a separate CR if necessary.
 
  
  What happens if there is no client VM e.g. x86_64?
 
 If you are not building a client-only configuration then you should not 
 set BUILD_CLIENT_ONLY. It's main purpose is to not attempt to copy 
 lib/arch/server/*.so files into the JRE/JDK image when they don't exist.
 

But what if someone does?  Will the sanity check not catch this?

  I think if this patch introduces it, the documentation should be part of 
  this patch.
 
 Definitely.
 
  The Library.gmk file seems like it is just a leftover debugging echo?
 
 This was Kelly's comment, but yes it is a _very_ useful debugging echo 
 that I suggest leaving in.
 
  The Release.gmk file needs  a major overhaul. :^(  I'm wondering if the 
  various things being added here could
  have their own separate functionality flags, rather than JAVASE_EMBEDDED,  
  have COMPRESS_JARS=true/false,
  REDUCED_JRE=true/false, then have one place where JAVASE_EMBEDDED turns on 
  what it wants?
  
  Strongly agree with this.  It would make more sense to have these sort
  of changes introduced by separate changesets and then have this change
  set them for the JAVASE_EMBEDDED build.  In particular, COMPRESS_JARS
  was something I had planned on fixing.  To Kelly's list, I'd add
  BUILD_ALSA and LIBZIP_CAN_USE_MMAP (mentioned below).  This would make
  this work far more generally useful than it is at present.
 
 I can certainly refactor into general flags, however applying those 
 flags to all parts of the JDK build process that might want to use them 
 is out-of-scope for what I am trying to achieve here (I just won't have 
 time to do this and go through a myriad of builds and test runs). I'd 
 also prefer not to create multiple changesets, which implies multiple 
 CRs. I can't easily test these things in isolation, and individual 
 changesets would require complete build/test cycles that I again do not 
 have time to perform.
 

I can see the issue with it taking more time, but committing the patch in its
current form is unfair on others who now have a more convoluted build system
to deal with (and it's already bad to start with) and no gain from the patch.

Does your employer not allocate sufficient time to do the best work you can
on such changes?

  Has this been tested on an OpenJDK build at all?  It also seems to create a 
  fonts.dir file with fonts
  that aren't part of OpenJDK.
 
 No, not OpenJDK. I have done a regular JDK build, but not OpenJDK. And I 
 have not attempted to test things like BUILD_CLIENT_ONLY outside of a 
 JAVASE_EMBEDDED build.
 
 With regard to the fonts, my understanding is that we simply define a 
 subset of the fonts used in the regular JDK. I have no idea how such 
 fonts get shipped nor whether they are part of the OpenJDK or only 
 Oracle's JDK.
 

An OpenJDK build definitely needs to be performed before this is committed,
as I think it may break the build or, at the very least, create references
to non-existent fonts.

 Thanks again,
 
 David
 
  -kto
 
 
  On Mar 7, 2011, at 2:14 AM, David Holmes wrote:
 
  http://cr.openjdk.java.net/~dholmes/7025066/webrev/
 
  The SE-Embedded product is a combination of open and closed sources. To 
  allow SE-Embedded to be built from standard OpenJDK sources we need to 
  apply a number of changes to the SE 7 build system:
 
  - support for building the hotspot client compiler only (hotspot already 
  supports this, this is the JDK side of things)
  - support for doing cross-compilation (Linux only)
  - minimal support for ARM/PPC architectures in the open code that 
  currently only knows about x86 and sparc
  - SE-Embedded specific build settings and targets (specifically the 
  headful and headless reduced JRE images)
 
  ---
 
  These changes are obviously primarily for Oracle's benefit, but some 
  aspects may be use of externally as well. The hope is that these changes 
  won't have an adverse affect on any downstream OpenJDK builders, but 
  until I get feedback on that I won't know.
 
  Thanks,
  David Holmes
  SE Embedded Team
 
  

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath

Re: Preliminary request for review: 7025066 Build system changes to support SE Embedded integration

2011-03-07 Thread Dr Andrew John Hughes
On 09:39 Mon 07 Mar , Kelly O'Hair wrote:

General comments:

* Could this not be broken up into smaller changesets to make it easier to 
review and catch regressions?
* There seem to be some whitespace changes that shouldn't be there.

e.g.

-   sane-msvcrt_path \
+   sane-msvcrt_path \

 Just to clarify for people, BUILD_CLIENT_ONLY refers to building the client 
 VM only.
 Some of these variables should be documented in the top level 
 README-builds.html file, but that
 can be done under a separate CR if necessary.
 

What happens if there is no client VM e.g. x86_64?
I think if this patch introduces it, the documentation should be part of this 
patch.

 The Library.gmk file seems like it is just a leftover debugging echo?
 
 Looks like the Program.gmk file should be sharing the LD_RUNPATH_EXTRAS logic 
 somehow, I originally
 was trying to isolate all the $ORIGIN option setting to one place, oh well, 
 not your issue. You have actually
 cleanup some of these linker settings, so thanks for that.
 
 The Release.gmk file needs  a major overhaul. :^(  I'm wondering if the 
 various things being added here could
 have their own separate functionality flags, rather than JAVASE_EMBEDDED,  
 have COMPRESS_JARS=true/false,
 REDUCED_JRE=true/false, then have one place where JAVASE_EMBEDDED turns on 
 what it wants?

Strongly agree with this.  It would make more sense to have these sort
of changes introduced by separate changesets and then have this change
set them for the JAVASE_EMBEDDED build.  In particular, COMPRESS_JARS
was something I had planned on fixing.  To Kelly's list, I'd add
BUILD_ALSA and LIBZIP_CAN_USE_MMAP (mentioned below).  This would make
this work far more generally useful than it is at present.

 Like the BUILD_CLIENT_ONLY setting. Just thoughts.
 But I'm ok with what you have, just cringing a little whenever the file 
 Release.gmk gets more added to it. :^(
 
 In Defs-control.gmk you have a line with just error ...some message not 
 exactly sure what you are expecting here.
 You also use USE_ONLY_BOOTDIR_TOOLS?=true  and I have avoided ?=. The reason 
 is that it assigns the
 variable if it hasn't been defined, not if it was defined to be empty or 
 expands to empty.
 Between ?= and ifdef/ifndef, it gets pretty confusing what defined means, 
 and I've been favoring using just
ifeq ($(USE_ONLY_BOOTDIR_TOOLS),)
 as the best way to ask if a variable will expand to nothing, which is usually 
 the real question in most situations.
 I have only used ifeq($(origin X),defined) when a variable being explicitly 
 defined to an empty value needed to be
 allowed, and this ?= effectively uses ifeq($(origin X),defined). A little nit 
 picking, sorry.
 
 In make/common/shared/Defs.gmk, you define HOST_CC and have another error 
 line. I'd rather not
 have the check in this file, but we should just define HOST_CC if not 
 defined, and have HOST_CC checked
 in Sanity.gmk in a special embedded sanity check where you verify all 
 embedded requirements you might have.
 We should probably also add some of these embedded variables added to 
 Sanity-Settings.gmk so we can see
 the settings when 'make sanity' is run.
 
 Sanity.gmk changes completely turns off the compiler version check, if you 
 really want to do this, perhaps
 the better approach is to put this sanity check in a ifdef REQUIRED_CC_VER 
 and then have you  not define
 that variable in Defs-versions.gmk? If you are saying you want NO required 
 version, then not defining
 the REQUIRED_* variables seems like a good idea.
 
 In java/zip/Makefile maybe we need a LIBZIP_CAN_USE_MMAP functionality option 
 here?
 Then embedded wouldn't even need to be mentioned here.
 
 In Version.java.template You have added a Java (TM) line, I think that 
 needs to go. You should add that
 in via the makefile somehow but I don't think it belongs in an OpenJDK build.
 

Has this been tested on an OpenJDK build at all?  It also seems to create a 
fonts.dir file with fonts
that aren't part of OpenJDK.

 -kto
 
 
 On Mar 7, 2011, at 2:14 AM, David Holmes wrote:
 
  http://cr.openjdk.java.net/~dholmes/7025066/webrev/
  
  The SE-Embedded product is a combination of open and closed sources. To 
  allow SE-Embedded to be built from standard OpenJDK sources we need to 
  apply a number of changes to the SE 7 build system:
  
  - support for building the hotspot client compiler only (hotspot already 
  supports this, this is the JDK side of things)
  - support for doing cross-compilation (Linux only)
  - minimal support for ARM/PPC architectures in the open code that currently 
  only knows about x86 and sparc
  - SE-Embedded specific build settings and targets (specifically the headful 
  and headless reduced JRE images)
  
  ---
  
  These changes are obviously primarily for Oracle's benefit, but some 
  aspects may be use of externally as well. The hope is that these changes 
  won't have an adverse affect on any downstream OpenJDK builders, but until 
  I 

Re: Installation of man page for proprietary javaws

2011-03-01 Thread Dr Andrew John Hughes
On 17:28 Wed 23 Feb , Dr Andrew John Hughes wrote:
 On 08:26 Tue 22 Feb , Kelly O'Hair wrote:
  
  On Feb 22, 2011, at 5:42 AM, Dr Andrew John Hughes wrote:
  
   On 12:54 Tue 22 Feb , Alan Bateman wrote:
   Dr Andrew John Hughes wrote:
   It seems that the OpenJDK build installs a man page for javaws,
   yet there is no javaws implementation in OpenJDK.
  
   http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=633
  
   This only happens on 32-bit platforms, hence why I've never seen it
   myself.  I've posted a webrev:
  
   http://cr.openjdk.java.net/~andrew/javaws/webrev.01/
  
   which disables the installation when building OpenJDK.  If you don't
   need this man page for the proprietary installation either, we could
   instead just get rid of the man pages and the appropriate lines in  
   the
   Makefile.
  
   Thoughts?
  
   Probably a small oversight that just wasn't noticed before.
  
   It's taken me this long to notice it.  If you build on a 64-bit  
   platform,
   you're not going to see it.  It seems distros have been silently  
   deleting
   it for a while without bothering to tell upstream :-(
  
   I've
   created a bug to track it:
  
   7021314: Build should not install javaws man page
  
  
   Great.  Thanks.  I'll await Kelly's review.
  
  Looks ok to me.
  
  -kto
  
  
   The changes in the webrev look right solution to me but I'll leave  
   it to
   Kelly to review.
  
   -Alan.
  
   -- 
   Andrew :)
  
   Free Java Software Engineer
   Red Hat, Inc. (http://www.redhat.com)
  
   Support Free Java!
   Contribute to GNU Classpath and IcedTea
   http://www.gnu.org/software/classpath
   http://icedtea.classpath.org
   PGP Key: F5862A37 (https://keys.indymedia.org/)
   Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
  
 
 Thanks Alan  Kelly.  Pushed: 
 http://hg.openjdk.java.net/jdk7/build/jdk/rev/5e09deee1967
 -- 

Clearly this woke someone up on the deployment team: 
http://hg.openjdk.java.net/jdk7/deploy/jdk/rev/7931291bc5d3 ;-)
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Installation of man page for proprietary javaws

2011-02-23 Thread Dr Andrew John Hughes
On 08:26 Tue 22 Feb , Kelly O'Hair wrote:
 
 On Feb 22, 2011, at 5:42 AM, Dr Andrew John Hughes wrote:
 
  On 12:54 Tue 22 Feb , Alan Bateman wrote:
  Dr Andrew John Hughes wrote:
  It seems that the OpenJDK build installs a man page for javaws,
  yet there is no javaws implementation in OpenJDK.
 
  http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=633
 
  This only happens on 32-bit platforms, hence why I've never seen it
  myself.  I've posted a webrev:
 
  http://cr.openjdk.java.net/~andrew/javaws/webrev.01/
 
  which disables the installation when building OpenJDK.  If you don't
  need this man page for the proprietary installation either, we could
  instead just get rid of the man pages and the appropriate lines in  
  the
  Makefile.
 
  Thoughts?
 
  Probably a small oversight that just wasn't noticed before.
 
  It's taken me this long to notice it.  If you build on a 64-bit  
  platform,
  you're not going to see it.  It seems distros have been silently  
  deleting
  it for a while without bothering to tell upstream :-(
 
  I've
  created a bug to track it:
 
  7021314: Build should not install javaws man page
 
 
  Great.  Thanks.  I'll await Kelly's review.
 
 Looks ok to me.
 
 -kto
 
 
  The changes in the webrev look right solution to me but I'll leave  
  it to
  Kelly to review.
 
  -Alan.
 
  -- 
  Andrew :)
 
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
 
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: F5862A37 (https://keys.indymedia.org/)
  Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
 

Thanks Alan  Kelly.  Pushed: 
http://hg.openjdk.java.net/jdk7/build/jdk/rev/5e09deee1967
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Commit responsibilities and Lines of Defense

2011-02-22 Thread Dr Andrew John Hughes
On 00:00 Tue 22 Feb , Bradford Wetmore wrote:
 
   Kelly just wrote:
 It's not clear...and slightly augmented by the openjdk bugzilla.
   
 I think Andrew was referring to http://bugs.openjdk.java.net.
   I was.  I'm not sure what else the phrase OpenJDK bug database
   would refer to.
 
 There were several bug systems mentioned in Kelly's post, and are used 
 in varying ways for JDK:
 
  Sun's internal bug database
  Bug parade (bugs.sun.com) which seeds from that system
  Oracle's internal bug database
  Bugzilla
 
 I just wanted to make sure we were talking about the same system.
 

Ok, always best to clarify things.  I don't tend to think of the first
three as related to OpenJDK; in fact, until this e-mail, I thought they
were all one and the same thing... (well, the first two anyway).

 
  That's
  where we are now.  bugs.o.j.n is still the place to submit/track
  patches, and I expect data from that bugzilla instance will be migrated
  to the new system.
 
  I never got the impression that the Bugzilla instance was only intended for
  stage 1 and http://openjdk.java.net/groups/web/bugzilla.html doesn't read
  like that either:
  
  'Goal
 
  To produce a Bugzilla instance in which OpenJDK contributions, bugs
  and RFEs can be submitted, tracked, and modified by people both
  internal and external to Sun.'
 
  Is that goal no longer valid?
 
 What you stated was the full goal, but as enumerated in the Phases 
 section, the deployment steps were first to track patches, then expand 
 to the general bug tracking solution for OpenJDK, then connect to Sun's 
 internal database.  It didn't get further than stage 1 before those 
 major factors came into play, and things got put on hold until our new 
 Oracle environment was understood.
 
 This
   bugzilla instance was set up to track patch contributions until a more
   permanent bug tracking solution could be developed/deployed.
 
 I composed that sentence poorly.  The more permanent solution was to 
 extend/expand the bugzilla instance to do OpenJDK bug tracking.
 
 It was not only intended for stage 1.  I was not clear about that, and 
 my apologies.
 

Ok, sounds like we are on the same page after all :-)

  (and we did a poor job of watching over the bugzilla system, sorry).
 
  The expectation was that patch submissions should be made visible by the
  submitter and discussed on the project team's mailing list.
 
  I don't remember this ever being made clear.
 
 We tried to describe it in the contributions page:
 
  http://openjdk.java.net/contribute/
 
  2. Discuss your intended change
  ...
  3. Submit a patch
 
  When your change is ready, create a new bug report in the OpenJDK
  Bugzilla system.
  ...
  Use attachments to your bug report to convey the following:
 
   All the Bugzilla page
  says is:
 
  'The primary goal of this phase is to further open our development
  processes, and prevent submissions from getting lost in the mailing
  list archives'
 
 We probably could have reiterated the above here on this page also.
 

Yes.  I'm trying to see this as someone just approaching the project
(perhaps just to patch one issue), rather than an established member
of the community.  From that perspective, it seems odd that putting my
patch in Bugzilla would not be enough.

  I don't see how having discussion in two different places helps.  I
  guess that's why the database wasn't a success.
 
  bugs.o.j.n was not supposed to track bugs, although some people
  submitted bugs without patches, and which obviously didn't gain much
  visibility.
 
 I should have said not supposed to track bugs *yet*.  I can see how 
 that was interpreted.
 

Yeah.

 Each page of the bugzilla instance does contain the following header:
 
  During the initial rollout phase, this site will only be accepting
  and tracking patch contributions to the OpenJDK 6 and 7 forests.
  Until the remainder of the site is ready, please continue to file
  normal bug reports via http://bugs.sun.com/bugdatabase/index.jsp.
 
  Regular bug reports filed here during the rollout period will be
  summarily closed.
 
  In phase 1, yes.  I don't think it was ever intended that this would be
  its only remit.  Again, the Bugzilla group page says:
 
  'During later phases of this project, we will be linking the Bugzilla
  instance with Bugtraq'
 
  I think we can all agree that the Bugzilla setup suffered from the
  Oracle merger happening and didn't evolve as was originally planned.
 
 I am in complete agreement.  Now that the efforts for bug tracking have 
 been restarted, I'm encouraging that the effort be staffed with folks 
 who can focus solely on this project.
 
  Let's not try and revise history by pretending it was only ever
  intended to be a patch repository.
 
 A misunderstanding, my apologies for not making that clearer.
 

No problem.  It did seem odd coming from someone who was involved in

Installation of man page for proprietary javaws

2011-02-22 Thread Dr Andrew John Hughes
It seems that the OpenJDK build installs a man page for javaws,
yet there is no javaws implementation in OpenJDK.  

http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=633

This only happens on 32-bit platforms, hence why I've never seen it
myself.  I've posted a webrev:

http://cr.openjdk.java.net/~andrew/javaws/webrev.01/

which disables the installation when building OpenJDK.  If you don't
need this man page for the proprietary installation either, we could
instead just get rid of the man pages and the appropriate lines in the
Makefile.

Thoughts?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Installation of man page for proprietary javaws

2011-02-22 Thread Dr Andrew John Hughes
On 12:54 Tue 22 Feb , Alan Bateman wrote:
 Dr Andrew John Hughes wrote:
  It seems that the OpenJDK build installs a man page for javaws,
  yet there is no javaws implementation in OpenJDK.  
 
  http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=633
 
  This only happens on 32-bit platforms, hence why I've never seen it
  myself.  I've posted a webrev:
 
  http://cr.openjdk.java.net/~andrew/javaws/webrev.01/
 
  which disables the installation when building OpenJDK.  If you don't
  need this man page for the proprietary installation either, we could
  instead just get rid of the man pages and the appropriate lines in the
  Makefile.
 
  Thoughts?

 Probably a small oversight that just wasn't noticed before.

It's taken me this long to notice it.  If you build on a 64-bit platform,
you're not going to see it.  It seems distros have been silently deleting
it for a while without bothering to tell upstream :-(

  I've 
 created a bug to track it:
 
 7021314: Build should not install javaws man page


Great.  Thanks.  I'll await Kelly's review.
 
 The changes in the webrev look right solution to me but I'll leave it to 
 Kelly to review.
 
 -Alan.

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Commit responsibilities and Lines of Defense

2011-02-21 Thread Dr Andrew John Hughes
On 18:29 Fri 18 Feb , Kelly O'Hair wrote:
 
 On Feb 18, 2011, at 4:29 PM, Dr Andrew John Hughes wrote:
 
  On 14:09 Fri 18 Feb , Kelly O'Hair wrote:
  snip
 
  But there have been some roadblocks for the open source community.
 
  It has been observed (for a long time now) that:
* The Mercurial jcheck extension needs to be open sourced
 
  Funnily enough, I just mentioned that in my reply to your mail about  
  the jdk6 changesets... :-)
 
 Hopefully we will hear some good news on this soon.
 

That'd be good.

 
* The bug tracking system needs to be completely open
 
  Definitely.  Making OpenJDK bug DB IDs usable in changesets would be  
  a good start (probably involves jcheck...)
 
 I'll have to punt on that, someone else is working on it, but the  
 intent is to have a
 completely open bug tracking system that also allows us link it with  
 the internal Oracle
 bug tracking system. Once we have that defined, jcheck can be adjusted  
 to use those numbers
 or IDs.  I don't think all the details are worked out. I'll see if I  
 can ping someone to make
 some of the planning more public.
 

So this is going to be yet another system? What will happen to the existing
pretty much unused OpenJDK bug database?

 
* We need an open build and test system for the OpenJDK developers
  who don't have access to all the systems
 
 
  This is especially important for Windows as I have no idea if  
  anything I do breaks it and
  no way of doing builds on it.  I expect the same to be true when Mac  
  OS appears as a target.
 
 Yup. The number of platforms is going up, which makes it even more  
 important.
 
 
  snip
 
 
  How much can be opened?
 
 Currently the parts that can't be opened that I can think of off the  
 top of my head:
* Closed builds or builds that include both the open changes and  
 the private Oracle repositories for JDK7
* Certain VM tests that are publicly available, like SPEC benchmarks
* Certain VM tests that are Oracle private, but have been  
 historically run to verify VM stability
* Some closed jdk regression tests, security and otherwise
 

The first two mainly sound like things that matter to Oracle.  Breaking
Oracle's proprietary product is not ideal, but something only really Oracle
can deal with and not the rest of the community.  I presume the SPEC benchmarks
would catch performance degradations; this would be useful, but not too helpful
if you can't make the results public.  I don't see how either could ever be made
public so I think it's best to keep them separate from the open system.

The latter two also need to be kept separate to begin with, but I hope Oracle
will be able to make these open at some point in the future.

 The general feeling is that we would not allow people to login to  
 these systems, but we
 could provide complete specifications on what systems we are using.
 Providing systems for OpenJDK people to access is not something we are  
 thinking about.
 Internally, it's rare that the exact same systems used like this are  
 needed by the developer.
 
 My preference is that other than the above items, any developer should  
 be able to build
 and test themselves on their platform, via the Makefiles in the  
 repositories, e.g. make all test.
 And for the most part, the BAT system would just repeat the same  
 procedures the developer
 can do on many other systems and in a distributed fashion for fast  
 turnaround.
 

Will any OpenJDK developer be able to submit a job to this system?  If not,
then it again creates a reliance on Oracle developers as we already have
with the Oracle bug DB and the JPRT system.

 
  From my stand point, I'd much rather we had the system completely open
  with those tests that can be made so, with appropriate direction in
  how to improve things and fill in the holes.  A bit like OpenJDK and
  the 'plugs'.  Improving that is achievable, and expanding the range of
  open tests would be some good low-hanging fruit for the OpenJDK
  project.  It would also establish a good set of JDK tests that can be
  used elsewhere.  This is what we tried to do with Mauve
  (http://sourceware.org/mauve/).
 
 I would like to include mauve tests as part of the testing, if we can  
 fit it in.

That's be great.

 I agree open tests are preferred.
 

As I say, I don't see much point in anything else.  What use are tests
we can't discuss?  How can we even trust their results?

 
  Working with proprietary tests doesn't really help.  It doesn't tell  
  me
  anything if a test passes if I don't know what that test is; I don't  
  know
  what exactly is being tested and whether I should trust the test at  
  all.
  I already have some experience of working with such tests via the TCK
  and it's been much more of a hinderance than a help, especially when
  we can't openly discuss tests and their results.  If I can't get a
  commit into OpenJDK because some test I can't look at is failing,
  it's just going to make me

Re: Commit responsibilities and Lines of Defense

2011-02-21 Thread Dr Andrew John Hughes
On 18:08 Mon 21 Feb , Kelly O'Hair wrote:
 
 On Feb 21, 2011, at 1:33 PM, Dr Andrew John Hughes wrote:

snip

 
 
  So this is going to be yet another system? What will happen to the  
  existing
  pretty much unused OpenJDK bug database?
 
 It's not clear. The old Sun bugtraq system was closed but we had some  
 ability to expose information.
 The Oracle bug system is very closed, so the requirements have changed  
 with regards to how the open and
 closed interact together.
 Before we mostly worked with Sun bugtraq, some public exposure, and  
 slightly augmented by the openjdk bugzilla.
 (and we did a poor job of watching over the bugzilla system, sorry).
 In the future it may be more that everyone is using the open system  
 (whatever that is), and only augmented
 by the closed system when needed.  Bottom line is that this is a good  
 thing for the open side,
 but I have no idea what that open system will be at this time. It's a  
 plan for a plan, and in progress.
 I think when this gets rolled out, other than perhaps people not  
 liking the particular implementation that
 might get picked, the open world will be better off because it will be  
 THE default bug tracking system.
 

So I take it the previous democratic choice of Bugzilla may be ignored?

 Of course I have to clarify,
The views expressed in this email are my own and do not necessarily  
 reflect the views of Oracle.
 

snip...

 
 
 I think if any of these tests become issues, we can address it then.
 Like I said, it may be this event that triggers the discussion on what  
 we should be doing
 in terms of opening up a test, or not requiring a test be run.
 

I'd rather the proprietary tests weren't part of the open system to begin with.
Waiting until they cause a problem and then waiting for that problem to be
resolved is an issue we can foresee now and could easily sidestep by not
including proprietary tests.

snip...

 
  The primary tests we would run to start with the jdk repository would
  be the regression
  tests in the repository, at least that's what I was thinking. Adding
  in mauve might be next?
  The VM tests used are the trickier ones.
 
 
  That sounds good.  Merely doing builds, never mind tests, on platforms
  such as Windows, Solaris and Mac OS X will be an advantage.
 
 
 To be completely upfront, there is a catch, it's not clear to me  
 whether the actual built bits can
 be returned yet, in amm os-arch cases. That's a legal issue I need to  
 resolve.
 I don't have a problem with it, but I need to make sure it's ok. So  
 initially, all you might get back
 are the build logs and a success/failure indication, I'll work on the  
 getting the built bits back,
 but no promises.
 

From my perspective, I'm happy if it builds and we don't get regressions.
The resulting binaries for a system I don't have anyway aren't much use :-)
I imagine there will be some desire for them from other corners though.

  Will OpenJDK6 also be covered by this scheme?  At the moment, results
  for it are of greater value for most people than those for the
  unreleased OpenJDK7.
 
 I'll allow for OpenJDK6, but we may need to play with what the  
 configurations are
 for building and testing, e.g. the os-arch-compiler combinations to  
 build and test.
 

Yes, I guess that's to be expected.

 
 Of course I have to clarify, again ;^)
The views expressed in this email are my own and do not necessarily  
 reflect the views of Oracle.
 
 -kto

Thanks for working on this,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Commit responsibilities and Lines of Defense

2011-02-21 Thread Dr Andrew John Hughes
On 18:26 Mon 21 Feb , Brad Wetmore wrote:
 
  Definitely.  Making OpenJDK bug DB IDs usable in changesets would be
  a good start (probably involves jcheck...)
 
  I'll have to punt on that, someone else is working on it, but the
  intent is to have a
  completely open bug tracking system that also allows us link it with
  the internal Oracle
  bug tracking system. Once we have that defined, jcheck can be adjusted
  to use those numbers
  or IDs.  I don't think all the details are worked out. I'll see if I
  can ping someone to make
  some of the planning more public.
 
  So this is going to be yet another system? What will happen to the existing
  pretty much unused OpenJDK bug database?
 
 Kelly just wrote:
   It's not clear...and slightly augmented by the openjdk bugzilla.
 
 I think Andrew was referring to http://bugs.openjdk.java.net.

I was.  I'm not sure what else the phrase OpenJDK bug database would refer to.

  This 
 bugzilla instance was set up to track patch contributions until a more 
 permanent bug tracking solution could be developed/deployed.  That's 
 where we are now.  bugs.o.j.n is still the place to submit/track 
 patches, and I expect data from that bugzilla instance will be migrated 
 to the new system.


I never got the impression that the Bugzilla instance was only intended for
stage 1 and http://openjdk.java.net/groups/web/bugzilla.html doesn't read
like that either:

'Goal

To produce a Bugzilla instance in which OpenJDK contributions, bugs
and RFEs can be submitted, tracked, and modified by people both
internal and external to Sun.'

Is that goal no longer valid?
 
   (and we did a poor job of watching over the bugzilla system, sorry).
 
 The expectation was that patch submissions should be made visible by the 
 submitter and discussed on the project team's mailing list.
 

I don't remember this ever being made clear.  All the Bugzilla page
says is:

'The primary goal of this phase is to further open our development
processes, and prevent submissions from getting lost in the mailing
list archives'

I don't see how having discussion in two different places helps.  I
guess that's why the database wasn't a success.

 bugs.o.j.n was not supposed to track bugs, although some people 
 submitted bugs without patches, and which obviously didn't gain much 
 visibility.

In phase 1, yes.  I don't think it was ever intended that this would be
its only remit.  Again, the Bugzilla group page says:

'During later phases of this project, we will be linking the Bugzilla
instance with Bugtraq'

 
 To quote Kelly:*The views expressed in this email are my own and do 
 not necessarily reflect the views of Oracle.*
 
 Brad
 

I think we can all agree that the Bugzilla setup suffered from the
Oracle merger happening and didn't evolve as was originally planned.
Let's not try and revise history by pretending it was only ever
intended to be a patch repository.

We can use it as a lesson.  If the new bug database proves unhelpful,
it will see the same level of usage as this one.  Making decisions
without open consultation with the OpenJDK community would not be a
good start.  I look forward to things being brought out into the open
instead.

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Commit responsibilities and Lines of Defense

2011-02-18 Thread Dr Andrew John Hughes
On 14:09 Fri 18 Feb , Kelly O'Hair wrote:
 Excuse the long email, sometimes it can't be avoided.
 

I much prefer long e-mails, especially ones with good news like this,
to things happening behind closed doors :-)

 I've been asked to try and start up some discussions around how the  
 OpenJDK development community
 can function better with regards to developer processes and what many  
 of us call Lines of Defense
 or how we protect our repositories from changes that cause  
 regressions. (Not sure who coined the
 phrase Lines of Defense, I will assume it is open source. ;^)
 
 This information is intended for anyone actually planning on making  
 OpenJDK changes and getting
 them integrated, so serious code committers only please, if that isn't  
 you, this email is probably not for you.
 
 Keep in mind that this is just an email, not concrete, so if you have  
 any questions or suggestions, let's discuss it.
 
 Mercurial is primary to working on the OpenJDK and understanding how  
 this all works:
* Mercurial - Learn the basics from http://hgbook.red-bean.com/read/
* Understand how OpenJDK uses Mercurial from 
 http://openjdk.java.net/guide/repositories.html
 If you are unfamiliar with Mercurial, making sense of this may be  
 difficult.
 
 Certainly there are other aspects to whether making a change is  
 appropriate or approved in various
 forums, that's assumed here. Once the decision has been made to make a  
 change, now what?
 
 So what do I consider the Lines of Defense?
* Fix: The developer, the author of the change, working in  
 cooperation with other team members
* Check: The developer doing a build and test, verifying the change  
 fixes what it should and creates no regressions
* Review: The reviewer, the second set of eyes that can always help  
 catch mistakes
* Commit: The actual changeset verifications as to authors, bug  
 tracking linking, review verification (e.g. jcheck)
* Coverage: Use of a developer build and test system that can  
 automate and verify the changes over a larger list of platforms and  
 tests
* Push: Controlled access to the team repositories and emails on  
 changes so that the teams know what was pushed in
* Monitoring: Continuous or nightly build and test of the team  
 repositories, prior to the team integration process
* Integration: The integrator, who does double and triple checks on  
 all of the above
* Master Checks: Continuous or nightly build and test of the master  
 repositories, prior to build promotions
* Promotion: Release Engineering and the promotion process, the  
 community at large letting us know when we messed up
* Testing: Major testing of a promoted build by our QE department
 
 At each line of defense, we have an opportunity to catch mistakes or  
 re-consider what we are doing.
 
 Once a developer does the Push of a changeset, the pipeline has been  
 primed and the change will eventually
 get integrated into the master repositories, unless something goes  
 wrong, i.e. we catch a mistake.
 If something does go wrong, it depends on when and where the mistake  
 was found but the goal is to always
 protect the Master repositories from bad or poison changesets.
 
 So since I'm talking to the just the developers now (I assume the  
 pointy haired managers have become bored at
 this point and stopped reading :^) how do we make it easy for all  
 OpenJDK developers to get from Fix to Push.
 
 We can make the Check easier and that's a separate project, mostly  
 isolated to the repositories themselves,
 and understanding what testing is required of developers.
 
 We can always improve the Review over and above the current 
 http://cr.openjdk.java.net/ 
   webrev storage.
 
 But there have been some roadblocks for the open source community.
 
 It has been observed (for a long time now) that:
* The Mercurial jcheck extension needs to be open sourced

Funnily enough, I just mentioned that in my reply to your mail about the jdk6 
changesets... :-)

* The bug tracking system needs to be completely open

Definitely.  Making OpenJDK bug DB IDs usable in changesets would be a good 
start (probably involves jcheck...)

* We need an open build and test system for the OpenJDK developers  
 who don't have access to all the systems
 

This is especially important for Windows as I have no idea if anything I do 
breaks it and
no way of doing builds on it.  I expect the same to be true when Mac OS appears 
as a target.

 We are working on it. And of course you have heard that before, but we  
 are, really.
 
 It's that last item that involves myself and a group of Oracle  
 engineers in Stockholm, hopefully we
 can come up with a solution that works for everybody. I have  
 tentatively named it BAT for
 Build And Test, but it is just in the infancy stage, nothing official  
 yet. But we would like some input.
 
 The intent would be to accept repository paths, tips, and changeset  
 bundles 

Re: Reviewer needed: building langtools on a Mac

2011-02-11 Thread Dr Andrew John Hughes
On 16:38 Thu 10 Feb , Gary Meyer wrote:
 
 On Feb 9, 2011, at 6:48 PM, Jonathan Gibbons wrote:
 
  Build folk,
  
  The following fix should make it possible to (again) build langtools on a 
  Mac.   
  
  Dan Smith reports:
  - When building the GenStubs in OS X, the Java 6 tools classes are in 
  classes.jar, and this shadows $build.bootstrap.dir, which appears in the 
  classpath.  This can be fixed with -Xbootclasspath/p.
  
  Webrev here:
  http://cr.openjdk.java.net/~jjg/7018452/webrev/
  
  -- Jon
 
 
 I don't know if you will accept me as a code reviewer, but I'm the Java Build 
 Engineer at Apple.  These code diffs look good to me.
 Gary.
 ~~~
 Gary Meyer
 Java Software Build Engineer
 gary.me...@apple.com
 

Hi Gary, 

Personally, I think it's great that someone who knows the platform
has checked over this patch.

More formally, for the commit, I think it depends on if Oracle gave
you an OpenJDK username yet :-) AFAIK, the 'Reviewed-by' field in
commits has to contain OpenJDK usernames.  See the (incomplete)
developer's guide at http://openjdk.java.net/guide/producingChangeset.html

This may or may not be checked by the jcheck extension Oracle run
on commits.  Given it's proprietary, we really don't know what it does.

Jon, FWIW, I also think the patch looks fine.

Hope that helps,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Reviewer needed: building langtools on a Mac

2011-02-11 Thread Dr Andrew John Hughes
On 07:57 Fri 11 Feb , Jonathan Gibbons wrote:
 On 02/11/2011 07:09 AM, Dr Andrew John Hughes wrote:
  On 16:38 Thu 10 Feb , Gary Meyer wrote:
  On Feb 9, 2011, at 6:48 PM, Jonathan Gibbons wrote:
 
  Build folk,
 
  The following fix should make it possible to (again) build langtools on a 
  Mac.
 
  Dan Smith reports:
  - When building the GenStubs in OS X, the Java 6 tools classes are in 
  classes.jar, and this shadows $build.bootstrap.dir, which appears in the 
  classpath.  This can be fixed with -Xbootclasspath/p.
 
  Webrev here:
   http://cr.openjdk.java.net/~jjg/7018452/webrev/
 
  -- Jon
 
  I don't know if you will accept me as a code reviewer, but I'm the Java 
  Build Engineer at Apple.  These code diffs look good to me.
  Gary.
  ~~~
  Gary Meyer
  Java Software Build Engineer
  gary.me...@apple.com
 
  Hi Gary,
 
  Personally, I think it's great that someone who knows the platform
  has checked over this patch.
 
  More formally, for the commit, I think it depends on if Oracle gave
  you an OpenJDK username yet :-) AFAIK, the 'Reviewed-by' field in
  commits has to contain OpenJDK usernames.  See the (incomplete)
  developer's guide at http://openjdk.java.net/guide/producingChangeset.html
 
  This may or may not be checked by the jcheck extension Oracle run
  on commits.  Given it's proprietary, we really don't know what it does.
 
  Jon, FWIW, I also think the patch looks fine.
 
  Hope that helps,
 
 Andrew, Gary,
 
 Note that Kelly asked recently that all build changes should be reviewed 
 by members of the build team.  So while is it always acceptable to have 
 additional reviewers, we do need Kelly or someone else in the build 
 group to verify the change too.
 
 http://mail.openjdk.java.net/pipermail/build-dev/2011-February/004034.html
 
 In this case, Kelly has already approved the change and the changeset 
 has been pushed.
 
 http://mail.openjdk.java.net/pipermail/compiler-dev/2011-February/002851.html
 
 -- Jon

Yes, I saw that post, but hadn't appreciated the ramifications yet.
Is there anyone else on the build team but Kelly?  While the idea is
good in theory, I foresee a potential bottleneck here.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Need reviewer: ant 1.7.1 or newer needed

2011-02-09 Thread Dr Andrew John Hughes
On 19:45 Tue 08 Feb , Rinaldo DiGiorgio wrote:
 
 On Feb 8, 2011, at 7:34 PM, Kelly O'Hair wrote:
 
  
  I take that back. Welcome rinaldo to the OpenJDK commit list!
  I will put you down as a reviewer. I didn't think you had the OpenJDK ID 
  yet.
 Thanks -- never expected to be here from initial position I came in on. Just 
 received it
 this morning. I hope I never put back to the wrong repository. :) Mark R has 
 a new process 
 and alias for getting access, once you send to it you get an invitation to 
 join.
  Response was very fast and you get a nice form to  fill out.
 

Is this new process documented somewhere?

 Rinaldo
 
  
  -kto
  
  On Feb 8, 2011, at 4:17 PM, Kelly O'Hair wrote:
  
  I did not know that an ant 1.7.3 even existed.
  
  Thanks for the review. But I still need a second reviewer.
  
  -kto
  
  On Feb 8, 2011, at 4:02 PM, Rinaldo DiGiorgio wrote:
  
  Looks good to me.  It also worked with 1.7.3
  
  On Feb 8, 2011, at 7:00 PM, Kelly O'Hair wrote:
  
  Need reviewer: ant 1.7.1 or newer needed
  
  This changes the minimum required ant version to 1.7.1 and also makes it 
  a fatal sanity error
  to try and use anything older.
  The ant 1.7.1 release was done in July 2008 and is a well known stable 
  ant release.
  
  7016976: Documentation for required ant version  on JDK7 builds on 
  Solaris 10 and Solaris 11
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-ant171/webrev/
  
  -kto
  
  P.S. Ant binary bundles can be found at 
  http://archive.apache.org/dist/ant/binaries/
  
  
  
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Need reviewer: ant 1.7.1 or newer needed

2011-02-09 Thread Dr Andrew John Hughes
On 12:34 Wed 09 Feb , Rinaldo DiGiorgio wrote:
    has a new process 
  and alias for getting access, once you send to it you get an invitation to 
  join.
  Response was very fast and you get a nice form to  fill out.
  
  
  Is this new process documented somewhere?
 
 I may have confused things.  I was looking for the process to be enabled
 for submitting changes with a JDK username.  I missed the following
 paragraph at 
 
 http://openjdk.java.net/guide/producingChangeset.html#jdkUserName
 
 I mailed my JDK username to keys(at)openjdk.java.net and  there was a reply 
 with an 
 invitation.
 
 
 Screen shot attached below may not appear to mailing list recipients.  You 
 can also find it by going to
 paragraph with Generating an SSH Key as the header.
 

I know how to commit once I have a username.  I thought you meant there was now 
a process
for getting such a username.  The only one I've known in the past is 'ask mr' 
;-)

 
 
 Rinaldo
 
 
 
  
  Rinaldo
  
  
  -kto
  
  On Feb 8, 2011, at 4:17 PM, Kelly O'Hair wrote:
  
  I did not know that an ant 1.7.3 even existed.
  
  Thanks for the review. But I still need a second reviewer.
  
  -kto
  
  On Feb 8, 2011, at 4:02 PM, Rinaldo DiGiorgio wrote:
  
  Looks good to me.  It also worked with 1.7.3
  
  On Feb 8, 2011, at 7:00 PM, Kelly O'Hair wrote:
  
  Need reviewer: ant 1.7.1 or newer needed
  
  This changes the minimum required ant version to 1.7.1 and also makes 
  it a fatal sanity error
  to try and use anything older.
  The ant 1.7.1 release was done in July 2008 and is a well known stable 
  ant release.
  
  7016976: Documentation for required ant version  on JDK7 builds on 
  Solaris 10 and Solaris 11
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-ant171/webrev/
  
  -kto
  
  P.S. Ant binary bundles can be found at 
  http://archive.apache.org/dist/ant/binaries/
  
  
  
  
  
  -- 
  Andrew :)
  
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
  
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: F5862A37 (https://keys.indymedia.org/)
  Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: corrupt messages in build logs

2011-02-02 Thread Dr Andrew John Hughes
On 16:43 Wed 02 Feb , Kelly O'Hair wrote:
 
 On Feb 2, 2011, at 1:56 PM, Jonathan Gibbons wrote:
 
  Some messages in the build logs are getting corrupted, perhaps  
  because of parallism.  For example,
 
  ../../../src/plugin/solaris/jvm_natives/server.c:2031: warning: cast  
  to pointer from integer of different
 
  ../../../../src/share/native/sun/security/ec/impl/ec2_163.c:59:  
  warning: ignoring #pragma i
 
  ../../../src/plugin/solaris/jvm_natives/native.c:165: warning: type  
  defaults to 'int' in declaration of 'getAw
 
  ../../../../src/plugin/solaris/nscore/JavaPluginFactory5.cpp:47:  
  warning: /localtools/linux/gcc29/usr/bin/gcc  -O2 -fPIC -DCC_NOEX -W  
  -Wall  -Wno-unused -Wno-parentheses -fno-omit-frame-pointer - 
  D_LITTLE_ENDIAN  -I../../../../src/plugin/solaris/nscore - 
  I../../../../src/plugin/solaris/nscore/../common -I/HUDSON/workspace/ 
  jdk7-2-build-linux-i586-product/jdk7/build/linux-i586/tmp/ -I/HUDSON/ 
  workspace/jdk7-2-build-linux-i586-product/jdk7/build/linux-i586/tmp/ 
  deploy/headers/plugin -I../../../../src/plugin/solaris/common - 
  I../../../../src/plugin/share/jpiapi -I../../../../src/plugin/ 
  solaris/nscore/../nsstub -I/HUDSON/workspace/jdk7-2-build-linux-i586- 
  product/jdk7/jdk/make/../src/solaris/javavm/export -I/HUDSON/ 
  workspace/jdk7-2-build-linux-i586-product/jdk7/jdk/make/../src/share/ 
  javavm/export  -D_GNU_SOURCE -DXP_UNIX -DNO_XEMBED_MOZILLA -DSVR4 - 
  DPLUGIN_NODOTVERSION=\170\ -DPLUGIN_VERSION=\1.7.0\ -DVERSION= 
  \1.7.0-ea-b122\ -DRELEASE=\1.7.0-ea\ -DARCH=\i586\ -Di586 - 
  DLIBARCH=\i386\ -B /localtools/linux/gcc29/usr/bin//../lib/gcc- 
  lib/ -I /localtools/linux/gcc29/usr/bin//../lib/gcc-lib/i386-redhat- 
  linux/egcs-2.9*/include -DRAPTOR_API -DNEW_STREAMING_API -DXP_UNIX - 
  DLINUX  -c -o /HUDSON/workspace/jdk7-2-build-linux-i586-product/jdk7/ 
  build/linux-i586/tmp/deploy/plugin/javaplugin_nscp_gcc29/obj/ 
  QueueRunnable.o  ../../../../src/plugin/solaris/nscore/ 
  QueueRunnable.cpp
 
  Is this known and/or fixable?
 
 This is due to the 'make -j 4 *.o' that happens when the sharedly  
 library is built.
 I though GNU make did a better job on keeping the messages grouped  
 with the compile line, but maybe not.

I haven't seen an issue with this from GNU make before, but isn't the above log
on Solaris rather than GNU/Linux?

It also doesn't look like OpenJDK to me.

 It may have to echo out the compile line first. Not sure it can be  
 fixed easily.
 
 Maybe build with ALT_PARALLEL_COMPILE_JOBS=1
 

Nice and slow... ;-)

 -kto
 
 
  -- Jon
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: F5862A37 (https://keys.indymedia.org/)
Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37


Re: Can't find jaxp-1_4_5-dev.zip

2011-01-24 Thread Dr Andrew John Hughes
On 19:33 Mon 24 Jan , Mark Wielaard wrote:
 Hi,
 
 On Mon, January 24, 2011 18:00, Andrew Haley wrote:
  On 01/24/2011 04:54 PM, Kelly O'Hair wrote:
  http://download.java.net/jaxp/1.4.5/dev/jaxp-1_4_5-dev.zip
 
  TVM,
 
 I made sure to place a copy in the icedtea drops backup dir just
 in case: http://icedtea.classpath.org/download/drops/
 

Thanks; I was planning to do that as well but seems you beat me to it :-)
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewer: Remove SKIP_OPENJDK_BUILD

2011-01-06 Thread Dr Andrew John Hughes
On 16:46 Wed 05 Jan , Kelly O'Hair wrote:
 Need reviewer: Remove SKIP_OPENJDK_BUILD
 
 Now that the binary plugs are gone, this logic doesn't make much sense.
 
 7009969: Remove SKIP_OPENJDK_BUILD from top Makefile
 http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-skip-openjdk/webrev/
 
 -kto
 

Looks like a sensible cleanup to me.

Do we know if anyone ever even used this option? What did it do?
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: A More FHS-Compliant JDK Install

2011-01-04 Thread Dr Andrew John Hughes
On 11:48 Tue 04 Jan , Andrew Haley wrote:
 On 01/03/2011 03:09 AM, Lussier, Denis wrote:
  I too like the idea that the version of OpenJDK that comes pre-built with
  your Linux distro is pre-installed and just works.  But... I wonder how/if
  the Linux Distro's will configure simultaneously with JDK6  JDK7 when they
  are both mainstream.
 
 Hopefully, the usual Java backwards compatibility will be maintained,
 so mostly it won't matter.  However, the packages may be installed
 side-by-side, with a symlink for the global default.  Like this example
 from Fedora 13:
 
 /usr/bin/java --
 /etc/alternatives/java --
 /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java
 
 I can't yet comment on whether distros will choose to allow multiple
 JDKs, though: just that there is no strong technical reason that
 forbids it.
 
 Andrew.

IME, most distributions already have at least two JDKs: gcj and 
IcedTea6/OpenJDK6.
Adding IcedTea7/OpenJDK7 to the pile wouldn't be any different, just more work
to support.  I foresee both being provided for a while until 7 really takes off.

I'd also like to see 7 start being made available as distro packages once it 
branches
away and mainstream development moves to 8.  There's an opportunity there for a 
lot more
testing than was seen through the previous proprietary release preparation 
process.
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewer: OpenJDK7 Copyright year updates

2010-12-29 Thread Dr Andrew John Hughes
On 15:50 Tue 28 Dec , Kelly O'Hair wrote:
 These changes are only adding the year 2010, to the copyright for  
 files modified in 2010.
 The first year should be preserved.
 
 The pattern YEAR1, YEAR2, in the Oracle copyright line is the  
 equivalent of the old Sun
 copyright year range YEAR1-YEAR2.
 So if the file originally was created in 1995, and was last modified  
 in 2010, it should say 1995, 2010,.
 
 Not sure I understand your question. Rebranding sources isn't  
 something that generates too many smiles. :^(
 

I read John's comment as he was expecting something like:

(C) 1995 Sun Microsystems
(C) 2010 Oracle

rather than changing the top one to Oracle and expanding the range.
But of course, Oracle now owns the Sun copyrights so the 1995, 2010
Oracle copyright is valid.

 -kto
 
 On Dec 28, 2010, at 2:50 PM, John Yeary wrote:
 
  Hello Kelly,
 
  Shouldn't the original copyrights remain in place? I see there are  
  changes that remove Sun and replace it with Oracle on files from  
  1995. I would expect that code with changes should include the  
  additional copyright for 2010.
 
  Sincerely,
 
  John Yeary
 
  On Tue, Dec 28, 2010 at 4:37 PM, Kelly O'Hair  
  kelly.oh...@oracle.com wrote:
  Need reviewer: OpenJDK7 2010 copyright year changes
 
  Any sources changed in 2010 need to have their copyright year  
  adjusted.
 
  Script used is in the top repository at make/scripts/ 
  update_copyright_year.sh.
  It finds all changesets created in 2010 and verifies that any  
  sources with
  copyrights mention 2010 adding it if necessary.
 
  6962318: Update copyright year
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/ 
  webrev/
 
  The webrev tool created some false 'file adds', not sure whether  
  this is a webrev
  bug or a /bin/sh problem on Solaris, but these changes only impact  
  the Copyright line.
 
  Easiest to just view the 'hg diff -U 0' results for each repository  
  impacted:
root:  
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.jdk7-build-copyright.txt
corba: 
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.corba.txt
jaxp:  
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.jaxp.txt
jaxws: 
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.jaxws.txt
langtools: 
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.langtools.txt
jdk:   
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-copyright/diffs.jdk.txt
 
  This does not include hotspot. I'll be asking the hotspot team to  
  deal with that separately.
 
  I know this is a mindless and tedious review. Sorry.
 
  -kto
 
 
 
  -- 
  John Yeary
  --
  http://javaevangelist.blogspot.com
  http://www.johnyeary.com
 
  Far better it is to dare mighty things, to win glorious triumphs,  
  even though checkered by failure, than to take rank with those poor  
  spirits who neither enjoy much nor suffer much, because they live in  
  the gray twilight that knows not victory nor defeat.
  -- Theodore Roosevelt
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewer: OpenJDK7 binary plug logic removal

2010-12-23 Thread Dr Andrew John Hughes
On 09:56 Thu 23 Dec , Andrew Haley wrote:
 On 12/23/2010 05:32 AM, David Holmes wrote:
  Kelly O'Hair said the following on 12/23/10 11:51:
  Need reviewer: OpenJDK7 binary plug logic removal
 
  7008723: Remove binary plugs creation and use from openjdk
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-plug-removal/webrev/
 
  Looks nicely eradicated to me. Surprised how far it's tentacles spread ...
 
 Indeed.  This patch surely is worthy of a little celebration.
 Begone, binary plugs, never again to darken our doors...
 
 Andrew.

Looks good to me too.  Good to see the jdk7 README finally being updated :-)
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewers and comments: 6989472: Provide simple jdk identification information in the install image

2010-12-22 Thread Dr Andrew John Hughes
On 14:19 Wed 22 Dec , Kelly O'Hair wrote:
 
 On Dec 22, 2010, at 9:09 AM, Dr Andrew John Hughes wrote:
 
  On 16:29 Tue 21 Dec , Kelly O'Hair wrote:
  I'm back with another stab at a webrev and modified proposal.
 
  6989472: Provide simple jdk identification information in the install
  image
  http://cr.openjdk.java.net/~ohair/openjdk7/jdk7-build-eclipse/webrev/
 
  The above change creates a small text file called release at the  
  top
  of the
  jdk or jre install image with some very basic values about that
  install image.
 
  For example, on Solaris 10 X86 the file would contain the 4 lines:
 
  JAVA_VERSION=1.7.0
  OS_NAME=SunOS
  OS_VERSION=5.10
  OS_ARCH=i586
 
  They are not properties and don't look like properties.
 
  But they are available as system properties already; os.arch,  
  os.name, os.version and java.version.
  So why do you need this file?
 
 To do sanity checks on jdk images before you try and run them.
 

Ah so, for example, you'd parse this, say 'hey we're actually running
on GNU/Linux' and not use it?  Sounds like it could be useful in some
circumstances, but I think the HotSpot solution you mention below will
be more generally applicable.  Are you planning to look at this too?


 -kto
 
 
  It doesn't contain trademark names or company names.
  It unfortunately does not identify the specific VM, but it does
  provide some basic
  information about what the jdk image is and where it can be used.
 
  To solve the original Eclipse issue really requires a similar file
  delivered by the
  VMs shipped with the JDK. That will need to be pursued with a
  different CR.
 
  -kto
 
  -- 
  Andrew :)
 
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
 
  Support Free Java!
  Contribute to GNU Classpath and IcedTea
  http://www.gnu.org/software/classpath
  http://icedtea.classpath.org
  PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
  Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: hotspot build problems

2010-12-10 Thread Dr Andrew John Hughes
On 07:24 Fri 10 Dec , Per Bothner wrote:
 On 12/10/2010 12:36 AM, Vikram Aroskar wrote:
  not a hotspot or build issue. NFS problem in releasing file locks.
  please move all your workspace and build output directory to local
  machine harddisk and try again.
 
 I'm quite sure that's not it.  I have never installed or setup NFS
 on this laptop - and I installed Fedora 14 from scratch on it recently.
 
 On 12/10/2010 07:10 AM, Dr Andrew John Hughes wrote:
  Easiest thing to try is to set ALT_OUTPUTDIR to a directory on a local
  disk.  I've not had problems with having the source on NFS but I always
  build to a local disk.
 
 The log file shows:
 ALT_OUTPUTDIR=/home/bothner/Java/jdk7/build/linux-i586/hotspot/outputdir
 which is local.
 

Ah ok, I just went on Vikram's comment from the last mail without
actually studying any logs.

 I'll try disabling SELinux and see if that makes a difference.

I've built OpenJDK on Fedora in the past (and we regularly do to
create the RPMs).  As I recall, SELinux was an issue previously
(Andrew Haley may know more on this), but AFAIK I have it turned on
and haven't experienced problems.  In fact, there are SELinux
workarounds in hotspot/make/linux/makefiles/vm.make.

 -- 
   --Per Bothner
 per.both...@oracle.com   p...@bothner.com   http://per.bothner.com/

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and IcedTea
http://www.gnu.org/software/classpath
http://icedtea.classpath.org
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewers and comments: 6989472: Provide simple jdk identification information in the install image

2010-11-30 Thread Dr Andrew John Hughes
On 14:44 Mon 29 Nov , Kelly O'Hair wrote:
 
 Need reviewers and comments:
6989472: Provide simple jdk identification information in the  
 install image
http://cr.openjdk.java.net/~ohair/openjdk7/jdk_release/webrev/
 
 With JDK6 Updates we purposely resisted many rebranding changes that  
 could impacted
 customers, however at one point we had accidently changed the Windows  
 DLL/EXE
 COMPANY value thinking that no one would be looking at it.
 We were wrong and this change cause Eclipse failures, so we are  
 looking for a solution, see:
 https://bugs.eclipse.org/bugs/show_bug.cgi?id=321390
 So we went back and change JDK6 Updates back the way it was, and  
 learned a valuable lesson.
 
 But we have and will change JDK7 in this regard, so we wanted a better  
 way for an app to
 know what it had it's hands on without using platform specific  
 information in the binary files.
 
 The above change creates a small text file called jdk.release at the  
 top of the install image
 with some basic values that could help direct any app using the jdk in  
 constructing a command
 line or even being assured that this jdk install image will even work  
 on your existing system.
 In the Eclipse case it was looking for Sun, but I suspect it really  
 wanted to know if the VM was
 Hotspot because I think it was trying to set a Hotspot specific  
 PermGen option.
 In any case I think this jdk.release file should provide the necessary  
 answers in the future.
 
 The make variable COMPANY_NAME determines the vendor name during a  
 build,
 so a Linux 64bit build from a make command line like:
 make COMPANY_NAME=Test Company Name
 should result in a jdk.release file that looks something like:
 
 os.name = Linux
 os.version = 2.6
 os.arch = amd64
 java.vendor = Test Company Name
 java.version = 1.7.0-internal
 java.vm.vendor = Test Company Name
 java.vm.name = Hotspot(TM)
 java.vm.version = 20.0-b02
 
 A formal Oracle jdk7 EA build on Linux 64bit should look something like:
 
 os.name = Linux
 os.version = 2.6
 os.arch = amd64
 java.vendor = Oracle Corporation
 java.version = 1.7.0-ea
 java.vm.vendor = Oracle Corporation
 java.vm.name = Hotspot(TM)
 java.vm.version = 20.0-b02
 
 Comments are welcome. Although, polite constructive comments are  
 probably more what I'd like to see. ;^)
 
 -kto
 

So what happens if a build does not set COMPANY_NAME?  There won't
always be an appropriate value for this.

Given this is aimed mainly at the Eclipse hackers, have they been
notified of this addition?

I agree with the previous comment that it should use the standard
'.properties' extension and be standardised for cross-JDK usage.  Of
course, that's only useful if the JSR concerned is actually available
under terms which will allow their use with FOSS.  I believe this is
still not the case with most JSRs.

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Fwd: Binary plugs download

2010-11-29 Thread Dr Andrew John Hughes
On 15:08 Mon 29 Nov , Dalibor Topic wrote:
 On 11/26/10 3:54 PM, Andrew Haley wrote:
  On 11/26/2010 02:48 PM, Dalibor Topic wrote:
 
  Hm. It's been a long time since I heard of anyone use the binary plugs for 
  anything.
  Certainly neither regular OpenJDK builds nor IcedTea builds do. So if they 
  just serve
  to confuse people to assume they are in some way necessary, maybe we 
  should just remove 
  them from the download site for good.
 
  Any objections?
  
  Why bother?  People sometimes want to check out and build old versions.
 
 Constant one time effort that saves non-constant amount of time down the road 
 answering 
 questions about binary plugs, as well as time  space spent generating them, 
 and so on.
 

Sounds a very good idea to me.  If someone really wants to use old
versions of OpenJDK7 (given public OpenJDK6 builds have never needed
them to my knowledge), they can use an old release of IcedTea rather
than these plugs.

 cheers,
 dalibor topic
 -- 
 Oracle http://www.oracle.com
 Dalibor Topic | Java F/OSS Ambassador
 Phone: +494023646738 tel:+494023646738 | | | Mobile: +491772664192 
 tel:+491772664192
 Oracle Java Platform Group
 
 ORACLE Deutschland B.V.  Co. KG | Nagelsweg 55 | 20097 Hamburg
 
 ORACLE Deutschland B.V.  Co. KG
 Hauptverwaltung: Riesstr. 25, D-80992 München
 Registergericht: Amtsgericht München, HRA 95603
 
 Komplementärin: ORACLE Deutschland Verwaltung B.V.
 Rijnzathe 6, 3454PV De Meern, Niederlande
 Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
 Geschäftsführer: Jürgen Kunz, Marcel van de Molen, Alexander van der Ven
 
 Green Oracle http://www.oracle.com/commitment Oracle is committed to 
 developing practices and products that help protect the environment

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: PowerPC build ???

2010-11-25 Thread Dr Andrew John Hughes
On 09:38 Thu 25 Nov , Mark Wielaard wrote:
 On Wed, 2010-11-24 at 20:39 -0600, kevin diggs wrote:
  This question is a little ... weird ... but ...
  
  Is the thought of trying to build your sdk with gcj ... heresy (sp?).
  If not please give me ... your thought as to whether it has any chance
  of working. I would think that if it is for compiles and the like ...
  it might work ...
 
 Not weird at all! This is exactly what the IcedTea project set out to
 do. Make OpenJDK bootstrap using only free tools. Since GCJ is the main
 free java implementation already available on GNU/Linux that is what it
 has used. http://icedtea.classpath.org/
 

And still does use.  Pretty much every commit I do to IcedTea is proceeded by
a full bootstrap using gcj (4.5.1 at present).

  Also, what is in this binary plug? Am I completely wasting my time
  since I don't have this? Any chance of getting a powerpc binary plug
  (or access to the source so one can be built)?
 
 And this is one other goal of IcedTea, make sure there are no binary
 plugs necessary by providing free software replacements.
 

IcedTea provided binary plug replacements in the past, but neither OpenJDK6
or OpenJDK7 have needed them for a long time.  The documentation for 7 is
outdated in this respect.

 There are multiple ways towards getting a powerpc port. One is using the
 Zero interpreter, which has (almost) zero architecture specific
 (assembly) code. Another is using Shark, which uses LLVM to generate
 code. Both of these extend the Hotspot runtime.
 http://icedtea.classpath.org/wiki/ZeroSharkFaq
 
 Another way is replacing the Hotspot runtime with one of the free ones
 already ported to other architectures (but using the rest of the tools
 and core libraries), like can be done with Cacao.
 http://c1.complang.tuwien.ac.at/cacaowiki/OpenJDK
 

I'd recommend CACAO if you want something that runs at a decent speed.
Zero is good if you want something for which binaries have passed the TCK,
but, being intepreted, it's slow.  Shark should ideally provide the best
of both worlds (it's a JIT and has passed the TCK), but not sure how much
usage it's seen so far.  It's still relatively new, and has the provisos
Gary mentioned on ppc.

 Both are fully integrated into the IcedTea build process, so in theory
 it is just a hg clone http://icedtea.classpath.org/hg/icedtea6  cd
 icedtea6  ./configure  make away. (In practice you probably have to
 give some configure options like --with-additional-vms=cacao,shark.
 See ./configure --help for more.)
 

Please use --enable-cacao to use the CACAO VM, --enable-shark to build
with Shark or --enable-zero to build with Zero, as documented in the INSTALL
file.

 Where possible these extensions are also pushed into OpenJDK proper.
 

Shark  Zero are both upstream in OpenJDK6 these days.  But you need IcedTea
if you want a web plugin or web start support.

Cheers,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Need reviewer: NONFCS_BUILD_INFO to add to the non-fcs version string

2010-11-24 Thread Dr Andrew John Hughes
On 11:36 Wed 24 Nov , Kelly O'Hair wrote:
 Dang... just shoot me now. :^(
 
 Try this:
http://cr.openjdk.java.net/~ohair/openjdk7/nonfcs-version/webrev/
 
 Sorry about that.
 

Looks ok to me.

I assume the motivation is so that MILESTONE doesn't have to be duplicated
in setting JPRT_BUILD_VERSION?  You can instead now just set NONFCS_BUILD_INFO
to replace the autogenerated user/date stuff without getting rid of MILESTONE.

 -kto
 
 On Nov 24, 2010, at 11:28 AM, Mark Wielaard wrote:
 
  On Wed, 2010-11-24 at 11:19 -0800, Kelly O'Hair wrote:
  I need a reviewer for this change:
 
  6987107: Add NONFCS_BUILD_INFO variable to add to but not modify
  MILESTONE in version string
  http://javaweb.sfbay.sun.com/~ohair/webrevs/jdk7/nonfcs-version/webrev/
 
  Bit hard to review if the host isn't reachable :)
  Could you just attach the patch to your email,
  or post it on some publicly reachable machine?
 
  Thanks,
 
  Mark
 
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: alsa-sane-headers sanity check broken

2010-11-22 Thread Dr Andrew John Hughes
On 22:15 Mon 22 Nov , Patrick Reinhart wrote:
 Am 22.11.10 22:09, schrieb Dr Andrew John Hughes:
  I'm quite puzzled as to how this hasn't been spotted before now, but I
  tried to build jdk7/jdk7 today (b118 from hg), using exactly the same
  script as I usually do, and immediately failed due to a missing
  separator in the jdk Sanity.gmk Makefile:
 
  make[1]: Entering directory 
  `/home/andrew/projects/openjdk/upstream/build/jdk/make'
  /home/andrew/projects/openjdk/upstream/build/jdk/make/common/shared/Sanity.gmk:1392:
   *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.
  make[1]: Leaving directory 
  `/home/andrew/projects/openjdk/upstream/build/jdk/make'
 
  I've just confirmed it's also broken in the build tree and the icedtea tree
  also fails (which is where I first hit the error).
 
  It seems the sane-alsa-headers target is completely broken.  What's puzzling
  is the changes occur in:
 
  http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/30bf00392b6d
  changeset:   914:30bf00392b6d
  parent:  796:d8eb2738db6b
  user:ohair
  date:Sat Jan 31 17:31:21 2009 -0800
  summary: 6799141: Build with --hash-style=both so that binaries can 
  work on SuSE 10
 
  which is nearly two years old.
 
  I managed to make some headway:
 
  * The target uses a mix of tabs and spaces.  Replacing with all tabs gets 
  things further.
  * The next issue is fixed by changing $${alsa_version) to $${alsa_version}.
 
  It then fails because we have a conditional structured as:
 
  if [ $(ALSA_CHECK) != same -a $(ALSA_CHECK) != newer  ] ; then \
  ...
  fi \
  else \
  ...
  fi
 
  There seems to be an if statement missing as, otherwise, having 
  REQUIRED_ALSA_VERSION
  defined always results in an error.  I assume there should be a top level 
  if statement,
  similar to the @if [ -f $(ALSA_VERSION_CHECK) ]; removed by this 
  changeset.  This would
  also explain why the if block is printed when usually such things are 
  silent.
 
  Anyone care to enlighten us as to the missing if statement?  I'd also love 
  to know how
  this has only just started biting me now.
 
  Thanks,
 Hi Andrew,
 
 See my statement and correcting diff 
 http://mail.openjdk.java.net/pipermail/build-dev/2010-November/003578.html 
 when I tried to get the build running under Fedora 14...
 
 Regards Patrick
 
 

Yes, as described in my original e-mail, I've already made those changes.

I don't believe the final else block is redundant.  An if check seems to be 
missing, which
is further reinforced if you take a look at other checks in the file and the 
CheckVersions macro;
we should be looking for ALSA_CHECK being missing.

I've posted a webrev here: http://cr.openjdk.java.net/~andrew/build/webrev.07/

which contains corrected indenting, the alsa_version fix and the additional if 
test.

Kelly, does this look ok to push? If so, can I have a bug ID for it?

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: alsa-sane-headers sanity check broken

2010-11-22 Thread Dr Andrew John Hughes
On 14:06 Mon 22 Nov , Kelly O'Hair wrote:
 
 On Nov 22, 2010, at 1:53 PM, Dr Andrew John Hughes wrote:
 
  On 22:15 Mon 22 Nov , Patrick Reinhart wrote:
  Am 22.11.10 22:09, schrieb Dr Andrew John Hughes:
  I'm quite puzzled as to how this hasn't been spotted before now,  
  but I
  tried to build jdk7/jdk7 today (b118 from hg), using exactly the  
  same
  script as I usually do, and immediately failed due to a missing
  separator in the jdk Sanity.gmk Makefile:
 
  make[1]: Entering directory `/home/andrew/projects/openjdk/ 
  upstream/build/jdk/make'
  /home/andrew/projects/openjdk/upstream/build/jdk/make/common/ 
  shared/Sanity.gmk:1392: *** missing separator (did you mean TAB  
  instead of 8 spaces?).  Stop.
  make[1]: Leaving directory `/home/andrew/projects/openjdk/upstream/ 
  build/jdk/make'
 
  I've just confirmed it's also broken in the build tree and the  
  icedtea tree
  also fails (which is where I first hit the error).
 
  It seems the sane-alsa-headers target is completely broken.   
  What's puzzling
  is the changes occur in:
 
  http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/30bf00392b6d
  changeset:   914:30bf00392b6d
  parent:  796:d8eb2738db6b
  user:ohair
  date:Sat Jan 31 17:31:21 2009 -0800
  summary: 6799141: Build with --hash-style=both so that  
  binaries can work on SuSE 10
 
  which is nearly two years old.
 
  I managed to make some headway:
 
  * The target uses a mix of tabs and spaces.  Replacing with all  
  tabs gets things further.
  * The next issue is fixed by changing $${alsa_version) to $$ 
  {alsa_version}.
 
  It then fails because we have a conditional structured as:
 
  if [ $(ALSA_CHECK) != same -a $(ALSA_CHECK) != newer  ] ;  
  then \
  ...
  fi \
  else \
  ...
  fi
 
  There seems to be an if statement missing as, otherwise, having  
  REQUIRED_ALSA_VERSION
  defined always results in an error.  I assume there should be a  
  top level if statement,
  similar to the @if [ -f $(ALSA_VERSION_CHECK) ]; removed by this  
  changeset.  This would
  also explain why the if block is printed when usually such things  
  are silent.
 
  Anyone care to enlighten us as to the missing if statement?  I'd  
  also love to know how
  this has only just started biting me now.
 
  Thanks,
  Hi Andrew,
 
  See my statement and correcting diff
  http://mail.openjdk.java.net/pipermail/build-dev/2010-November/003578.html
  when I tried to get the build running under Fedora 14...
 
  Regards Patrick
 
 
 
  Yes, as described in my original e-mail, I've already made those  
  changes.
 
  I don't believe the final else block is redundant.  An if check  
  seems to be missing, which
  is further reinforced if you take a look at other checks in the file  
  and the CheckVersions macro;
  we should be looking for ALSA_CHECK being missing.
 
  I've posted a webrev here: 
  http://cr.openjdk.java.net/~andrew/build/webrev.07/
 
  which contains corrected indenting, the alsa_version fix and the  
  additional if test.
 
  Kelly, does this look ok to push? If so, can I have a bug ID for it?
 
 Looks fine. Feel free to push.
 
 7000225: Sanity check on sane-alsa-headers is broken
 
 Thank you. I filed the bug last week I think, just been so busy  
 lately. :^(
 
 -kto
 
 
  Thanks,
  -- 
  Andrew :)
 
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
 
  Support Free Java!
  Contribute to GNU Classpath and the OpenJDK
  http://www.gnu.org/software/classpath
  http://openjdk.java.net
  PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
  Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
 

Done.

Thanks,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: alsa-sane-headers sanity check broken

2010-11-22 Thread Dr Andrew John Hughes
On 15:17 Mon 22 Nov , Kelly O'Hair wrote:
 Been scratching my head on this one.
 
 Another error is in the target sane-gcc-compiler, same kind of thing.
 Turns out this one was Solaris only, and the older version of GNU make  
 seemed to be silent (3.78.1)
 but the newer one (3.81) complained about a missing TAB character.
 Our RE teams use the older GNU make 3.78.1, I've been trying to  
 advance (if you want to
 call it that) to 3.81, or even 3.82 if possible, but it's not been as  
 easy as originally planned
 due to the issues with Windows, MKS, and escaped quotes in rules. But  
 3.82 may have a fix
 for this.
 
 Could we be using a different GNU make version on some of these Linux  
 systems?
 

I think a move from 3.81 to 3.82 may have trigged the issue here.  I'm
don't know if Fedora 14 also upgrades to that version, but it sounds
likely.  I presume it simply wasn't been evaluated before, given there
are three bugs and two of these, the variable expansion and the
conditional, are being evaluated by the shell.  My guess would be that
it simply regarded the target as empty due to the spacing and thus it
was trivially satisfied.

 -kto
 
 On Nov 22, 2010, at 2:33 PM, David Holmes wrote:
 
  Any enlightenment on how this only just started happening? Has the  
  alsa check been disabled previously?
 
  David
 
  Kelly O'Hair said the following on 11/23/10 08:06:
  On Nov 22, 2010, at 1:53 PM, Dr Andrew John Hughes wrote:
  On 22:15 Mon 22 Nov , Patrick Reinhart wrote:
  Am 22.11.10 22:09, schrieb Dr Andrew John Hughes:
  I'm quite puzzled as to how this hasn't been spotted before now,  
  but I
  tried to build jdk7/jdk7 today (b118 from hg), using exactly the  
  same
  script as I usually do, and immediately failed due to a missing
  separator in the jdk Sanity.gmk Makefile:
 
  make[1]: Entering directory `/home/andrew/projects/openjdk/ 
  upstream/build/jdk/make'
  /home/andrew/projects/openjdk/upstream/build/jdk/make/common/ 
  shared/Sanity.gmk:1392: *** missing separator (did you mean TAB  
  instead of 8 spaces?).  Stop.
  make[1]: Leaving directory `/home/andrew/projects/openjdk/ 
  upstream/build/jdk/make'
 
  I've just confirmed it's also broken in the build tree and the  
  icedtea tree
  also fails (which is where I first hit the error).
 
  It seems the sane-alsa-headers target is completely broken.   
  What's puzzling
  is the changes occur in:
 
  http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/30bf00392b6d
  changeset:   914:30bf00392b6d
  parent:  796:d8eb2738db6b
  user:ohair
  date:Sat Jan 31 17:31:21 2009 -0800
  summary: 6799141: Build with --hash-style=both so that  
  binaries can work on SuSE 10
 
  which is nearly two years old.
 
  I managed to make some headway:
 
  * The target uses a mix of tabs and spaces.  Replacing with all  
  tabs gets things further.
  * The next issue is fixed by changing $${alsa_version) to $$ 
  {alsa_version}.
 
  It then fails because we have a conditional structured as:
 
  if [ $(ALSA_CHECK) != same -a $(ALSA_CHECK) !=  
  newer  ] ; then \
  ...
  fi \
  else \
  ...
  fi
 
  There seems to be an if statement missing as, otherwise, having  
  REQUIRED_ALSA_VERSION
  defined always results in an error.  I assume there should be a  
  top level if statement,
  similar to the @if [ -f $(ALSA_VERSION_CHECK) ]; removed by  
  this changeset.  This would
  also explain why the if block is printed when usually such  
  things are silent.
 
  Anyone care to enlighten us as to the missing if statement?  I'd  
  also love to know how
  this has only just started biting me now.
 
  Thanks,
  Hi Andrew,
 
  See my statement and correcting diff
  http://mail.openjdk.java.net/pipermail/build-dev/2010-November/003578.html
  when I tried to get the build running under Fedora 14...
 
  Regards Patrick
 
 
 
  Yes, as described in my original e-mail, I've already made those  
  changes.
 
  I don't believe the final else block is redundant.  An if check  
  seems to be missing, which
  is further reinforced if you take a look at other checks in the  
  file and the CheckVersions macro;
  we should be looking for ALSA_CHECK being missing.
 
  I've posted a webrev here: 
  http://cr.openjdk.java.net/~andrew/build/webrev.07/
 
  which contains corrected indenting, the alsa_version fix and the  
  additional if test.
 
  Kelly, does this look ok to push? If so, can I have a bug ID for it?
  Looks fine. Feel free to push.
  7000225: Sanity check on sane-alsa-headers is broken
  Thank you. I filed the bug last week I think, just been so busy  
  lately. :^(
  -kto
 
  Thanks,
  -- 
  Andrew :)
 
  Free Java Software Engineer
  Red Hat, Inc. (http://www.redhat.com)
 
  Support Free Java!
  Contribute to GNU Classpath and the OpenJDK
  http://www.gnu.org/software/classpath
  http://openjdk.java.net
  PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
  Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8
 

-- 
Andrew :)

Free Java

Re: Field of use

2010-11-19 Thread Dr Andrew John Hughes
On 18 November 2010 12:44, Jonathan Tripathy jon...@abpni.co.uk wrote:
 Hi Everyone,

 Does the OpenJDK project have any Field of Use restrictions? Are
 kiosk/set top box style installation allowed?

 Thanks


http://openjdk.java.net/legal/
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: no gcj-jdk + no ecj + building openjdk

2010-11-18 Thread Dr Andrew John Hughes
On 09:27 Thu 18 Nov , Mark Wielaard wrote:
 On Thu, 2010-11-18 at 11:31 +0530, ramakanth varala wrote:
  My target is to get openjdk build for target board (ARM) .
  
  In the process i thought i would build openjdk first to my host
  machine i.e of fedora 8.
 
 Fedora 8 is very outdated (3 years old). Although IcedTea (7) has been
 bootstrapped on it, it isn't maintained anymore. You might have better
 luck if you update to a more modern version (Fedora 14 is the latest).
 
  Iam confused of lot of things here
  
  1) what is icedtea ?
 
 IcedTea is a fully free Java Runtime and Development Environment. Build
 upon OpenJDK extended with developer, user and web browser tools like an
 Applet viewer, Java Webstart (LiveConnect and JNLP) support and
 VisualVM, a lightweight profiler and troubleshooting tool. Bootstraps
 with and provides alternative runtimes, tools and class library support
 for Java and Java-like environments, like the Zero interpreter, Shark
 JIT, GCJ native compiler, GNU Classpath core libraries and Cacao. See
 http://icedtea.classpath.org/
 

Zero  Shark are now part of OpenJDK.

  2) How is icedtea related to openjdk?
 
 OpenJDK is a free reference implementation for the Java Standard Edition
 Developer Kit. Includes an execution environment, development tools and
 a class library for the Java programming language. IcedTea extends this.
 

Notably, IcedTea is required for plugin and Web Start support.
The packages in most distros which claim to be OpenJDK are actually
IcedTea.  An easy way to check is to see if a plugin and javaws binary
are included.  I haven't heard of any distros shipping OpenJDK as supplied
upstream.

  3) can i build this for the arm board ?
 
 Yes, it should natively build on an arm board. But that might be slow,
 so you might want to cross-compile...
 
  4) can you point me to proper documentation where i can get a clear
  picture of cross-compilation to arm?
 
 See http://icedtea.classpath.org/wiki/CrossCompileFaq
 

I'm not sure how up-to-date this document is.  It does have noticeable typos.

There should be support for ARM in IcedTea via Zero, Shark and the ARM assembler
port (I'm not sure of the maintenance level of the latter).

The best advice is probably to give it a try and go on IRC if you hit problems.
I believe Xerces (xranby) does regular ARM builds and is usually online in
#openjdk on the OFTC network.

 Cheers,
 
 Mark
 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: no gcj-jdk + no ecj + building openjdk

2010-11-17 Thread Dr Andrew John Hughes
On 09:30 Wed 17 Nov , Gary Benson wrote:
 Hi Ramakanth,
 
 It looks like you're using IcedTea, so I'm copying in distro-pkg-dev
 which is the mailing list most IcedTea stuff is discussed on.
 
 It also looks like you're using Fedora 8, which is very old.  I'm not
 saying you won't be able to do a build, but you'll likely run into
 problems that upgrading would solve.  So unless there you have a very
 compelling reason to stick on Fedora 8 I would suggest upgrading to
 the latest as your first step.
 
 In answer to your question, ecj is the Java compiler from Eclipse,
 and it's the Java compiler used by jdk-gcj-compat.  You do need an
 existing JDK to build OpenJDK, and jdk-gcj-compat is probably the
 only free one available for Fedora 8.
 
 Cheers,
 Gary
 
 Ramakanth Varala wrote:
  Hello all,
  
  Iam trying to build openjdk for my fedora plat form .
  i like to build openjdk without ecj ( i guess this is eclipse related
  and eclipse IDE is  not needed )
  

ecj is a java compiler and you need a Java compiler to build IcedTea.
It does come from the Eclipse IDE but you don't need any of the IDE
installed to use it.  It's a command-line tool.

On Fedora 8, I believe you should have the option of either installing
java-1.5.0-gcj (recommended) or java-1.7.0-icedtea.  Using the latter
will require building with the --with-openjdk flag.

The simplest option, however, is probably just to upgrade to a newer
version of Fedora and perform 'yum install java-1.6.0-openjdk'.

  Currently iam getting the error as below .
  
  checking for distribution package version... none
  checking build identification... Built on Fedora release 8 (Werewolf)
  (Wed Nov 17 12:03:35 IST 2010)
  checking for a GCJ JDK home directory...
  configure: error: A GCJ JDK home directory could not be found.
  
  
  can any body help me in this.
  
  regards
 
 -- 
 http://gbenson.net/

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Java2Demo and com/sun/image missing from OpenJDK7 clone

2010-11-09 Thread Dr Andrew John Hughes
On 9 November 2010 17:41, Pete Brunet peter.bru...@oracle.com wrote:
 I notice that com/sun/image is missing from my OpenJDK7 clone, i.e. it's
 not in the classes directory or the rt.jar files in the two image
 directores (jre and jdk).  Also the demo itself isn't in the OpenJDK7
 tree.  Both the demo and the com/sun/image directory /are/ in the
 binaries installed with the latest 117 installer, i.e.
 jdk-7-ea-bin-b117-windows-i586-04_nov_2010.exe.

 Pete


As far as I understand that, the binaries provided by Oracle are from
a proprietary JDK7 code base (and hence have proprietary licensing).
Oracle don't produce OpenJDK binaries.
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Bootstrap javac cannot be compiled using earlier JDK7 versions

2010-10-20 Thread Dr Andrew John Hughes
On 20 October 2010 13:07, Andreas Kohn andreas.k...@fredhopper.com wrote:
 Hi,

 I wanted to update my local JDK7 build, and stumbled across a problem
 when building with a JDK7 from ~2010-09-10:

 build-bootstrap-javac:
    [javac] Compiling 78 source files to 
 /local/andreask-nonbackup/jdk7/build/linux-amd64/langtools/build/bootstrap/classes
    [javac] 
 /local/andreask-nonbackup/jdk7/langtools/src/share/classes/com/sun/tools/javac/nio/JavacPathFileManager.java:372:
  method does not override or implement a method from a supertype
    [javac]             @Override
    [javac]             ^
    [javac] 1 error

 The full output up to that point is attached. This was a completely fresh 
 fclone of the jdk7
 forest (e8ebdf41b9c0) to rule out any local modifications.

 Is this error expected? I just commented the @Override so I could build. I'm 
 a bit wondering how
 this bootstrap can work with a JDK6, but I didn't try that yet.


What is /usr/java/openjdk-current/bin/javac ?  What does
/usr/java/openjdk-current/bin/java -version give?

 Regards,
 --
 Andreas

 --
 Never attribute to malice that which can be adequately explained by
 stupidity.                                        -- Hanlon's Razor

 Building
 Control linux amd64 1.7.0-internal all build started: 10-10-20 09:17

 Build Machine Information:
   build machine = tiamaria.ams.fredhopper.com

 Build Directory Structure:
   CWD = /local/andreask-nonbackup/jdk7
   TOPDIR = .
   LANGTOOLS_TOPDIR = ./langtools
   JAXP_TOPDIR = ./jaxp
   JAXWS_TOPDIR = ./jaxws
   CORBA_TOPDIR = ./corba
   HOTSPOT_TOPDIR = ./hotspot
   JDK_TOPDIR = ./jdk

 Build Directives:
   BUILD_LANGTOOLS = true
   BUILD_JAXP = true
   BUILD_JAXWS = true
   BUILD_CORBA = true
   BUILD_HOTSPOT = true
   BUILD_JDK    = true
   DEBUG_CLASSFILES =
   DEBUG_BINARIES =

 Hotspot Settings:
      HOTSPOT_BUILD_JOBS  =
      HOTSPOT_OUTPUTDIR   = 
 /local/andreask-nonbackup/jdk7/build/linux-amd64/hotspot/outputdir
      HOTSPOT_EXPORT_PATH = 
 /local/andreask-nonbackup/jdk7/build/linux-amd64/hotspot/import




 Bootstrap Settings:
  BOOTDIR = /usr/java/openjdk-current
    ALT_BOOTDIR = /usr/java/openjdk-current
  BOOT_VER = 1.7.0 [requires at least 1.6]
  OUTPUTDIR = /local/andreask-nonbackup/jdk7/build/linux-amd64
    ALT_OUTPUTDIR = /local/andreask-nonbackup/jdk7/build/linux-amd64
  ABS_OUTPUTDIR = /local/andreask-nonbackup/jdk7/build/linux-amd64

 Build Tool Settings:
  SLASH_JAVA = /NOT-SET
    ALT_SLASH_JAVA =
  VARIANT = OPT
  JDK_DEVTOOLS_DIR = /NOT-SET/devtools
    ALT_JDK_DEVTOOLS_DIR =
  ANT_HOME = /local/home/andreask/modules/apache-ant-1.7.1
  UNIXCOMMAND_PATH = /bin/
    ALT_UNIXCOMMAND_PATH =
  COMPILER_PATH = /usr/bin/
    ALT_COMPILER_PATH =
  DEVTOOLS_PATH = /usr/bin/
    ALT_DEVTOOLS_PATH =
  UNIXCCS_PATH = /usr/ccs/bin/
    ALT_UNIXCCS_PATH =
  USRBIN_PATH = /usr/bin/
    ALT_USRBIN_PATH =
  COMPILER_NAME = GCC4
  COMPILER_VERSION = GCC4
  CC_VER = 4.4.4 [requires at least 4.3.0]
  ZIP_VER = 2.31 [requires at least 2.2]
  UNZIP_VER = 5.52 [requires at least 5.12]
  ANT_VER = 1.7.1 [requires at least 1.6.3]
  TEMPDIR = /local/andreask-nonbackup/jdk7/build/linux-amd64/tmp

 Build Directives:
  OPENJDK = true
  USE_HOTSPOT_INTERPRETER_MODE =
  PEDANTIC =
  DEV_ONLY = true
  NO_DOCS =
  NO_IMAGES =
  TOOLS_ONLY =
  INSANE =
  COMPILE_APPROACH = parallel
  PARALLEL_COMPILE_JOBS = 2
    ALT_PARALLEL_COMPILE_JOBS =
  FASTDEBUG =
  COMPILER_WARNINGS_FATAL = false
  COMPILER_WARNING_LEVEL =
  INCREMENTAL_BUILD = false
  CC_HIGHEST_OPT =
  CC_HIGHER_OPT =
  CC_LOWER_OPT =
  CXXFLAGS =  -O2 -fPIC -DCC_NOEX -W -Wall  -Wno-unused -Wno-parentheses 
 -fno-omit-frame-pointer -D_LITTLE_ENDIAN
  CFLAGS =  -O2   -fno-strict-aliasing -fPIC -W -Wall  -Wno-unused 
 -Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN
  BOOT_JAVA_CMD = /usr/java/openjdk-current/bin/java -XX:-PrintVMOptions 
 -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx896m -Xms128m 
 -XX:PermSize=32m -XX:MaxPermSize=160m
  BOOT_JAVAC_CMD = /usr/java/openjdk-current/bin/javac  
 -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions 
 -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m -J-Xms128m 
 -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 
 -XDignore.symbol.file=true
  BOOT_JAR_CMD = /usr/java/openjdk-current/bin/jar
  BOOT_JARSIGNER_CMD = /usr/java/openjdk-current/bin/jarsigner
  JAVAC_CMD = /usr/java/openjdk-current/bin/javac  -J-XX:ThreadStackSize=1536 
 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput 
 -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m  -source 7 
 -target 7 -encoding ascii 
 -Xbootclasspath:/local/andreask-nonbackup/jdk7/build/linux-amd64/classes
  JAVAH_CMD = /usr/java/openjdk-current/bin/javah -bootclasspath 
 /local/andreask-nonbackup/jdk7/build/linux-amd64/classes
  JAVADOC_CMD = /usr/java/openjdk-current/bin/javadoc -J-XX:-PrintVMOptions 
 -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput 

Re: static linking of libgcc on linux ?

2010-09-21 Thread Dr Andrew John Hughes
On 21 September 2010 07:33, Martin Buchholz marti...@google.com wrote:
 This appears to be another case where the hotspot and jdk repo makefiles 
 differ.

 hotspot does:

 # statically link libgcc and/or libgcc_s, libgcc does not exist before 
 gcc-3.x.
 ifneq (${CC_VER_MAJOR}, 2)
 STATIC_LIBGCC += -static-libgcc
 endif

 making it look like the jdk repo makefile is in error.

 I continue to be surprised that with all the strange fiddling with
 linker flags (use of -static-libgcc is not encouraged), that jdk
 binaries have such a high degree of binary compatibility.


I would imagine this static linking is to aid binary compatibility,
allowing Oracle to ship
binaries which work with different versions of gcc and glibc (which I
believe is also statically linked)
than that it is built against.

I wonder if it's worth disabling such linking on distributions.  Would
it lead to a significant reduction in footprint?

 Martin

 On Sun, Sep 19, 2010 at 23:02, David Holmes david.hol...@oracle.com wrote:
 In the j2se/jdk repo make/common/Defs-linux.gmk contains this old code:

 #
 # -static-libgcc is a gcc-3 flag to statically link libgcc, gcc-2.9x always
 # statically link libgcc but will print a warning with the flag. We don't
 # want the warning, so check gcc version first.
 #
 CC_VER_MAJOR := $(shell $(CC) -dumpversion | $(SED) 's/egcs-//' | $(CUT)
 -d'.' -f1)
 ifeq ($(CC_VER_MAJOR), 3)
 OTHER_LDFLAGS  += -static-libgcc
 endif

 Now we build with gcc 4 we actually don't set -static-libgcc. Can someone
 comment on the correctness of this - should we instead be checking for
 ifneq ($(CC_VER_MAJOR), 2) ?

 Thanks,
 David Holmes





-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Review Request: Final Shark buildsystem piece

2010-08-24 Thread Dr Andrew John Hughes
On 18 August 2010 09:53, Gary Benson gben...@redhat.com wrote:
 Christian Thalinger wrote:
 On Tue, 2010-08-17 at 13:51 -0700, Kelly O'Hair wrote:
  I had assumed this was a file in the hotspot repo, but it's
  actually in the top repo.  Feel free to push this change into
  the tl forest, or whereever you pushed it's cohort changeset.

 Gary, do you need a new CR?  -- Christian

 Yes please :)

 Cheers,
 Gary

 --
 http://gbenson.net/


I think it would make more sense to use '6976186: Integrate Shark'
again, so the commits are easily associated as part of the same bug.
This is used for both the HotSpot and JDK chunks.
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Review Request: Final Shark buildsystem piece

2010-08-24 Thread Dr Andrew John Hughes
On 24 August 2010 13:18, Dr Andrew John Hughes ahug...@redhat.com wrote:
 On 18 August 2010 09:53, Gary Benson gben...@redhat.com wrote:
 Christian Thalinger wrote:
 On Tue, 2010-08-17 at 13:51 -0700, Kelly O'Hair wrote:
  I had assumed this was a file in the hotspot repo, but it's
  actually in the top repo.  Feel free to push this change into
  the tl forest, or whereever you pushed it's cohort changeset.

 Gary, do you need a new CR?  -- Christian

 Yes please :)

 Cheers,
 Gary

 --
 http://gbenson.net/


 I think it would make more sense to use '6976186: Integrate Shark'
 again, so the commits are easily associated as part of the same bug.
 This is used for both the HotSpot and JDK chunks.
 --
 Andrew :-)

 Free Java Software Engineer
 Red Hat, Inc. (http://www.redhat.com)

 Support Free Java!
 Contribute to GNU Classpath and the OpenJDK
 http://www.gnu.org/software/classpath
 http://openjdk.java.net

 PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
 Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Pushed: http://hg.openjdk.java.net/jdk7/tl/rev/1fbed32d2ddd
-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8


Re: Review request: Shark buildsystem changes

2010-08-13 Thread Dr Andrew John Hughes
On 13 August 2010 16:58, Kelly O'Hair kelly.oh...@oracle.com wrote:

 On Aug 13, 2010, at 1:49 AM, Gary Benson wrote:

 Dalibor Topic wrote:

 On 8/12/10 10:58 PM, Kelly O'Hair wrote:

 There isn't a document but I'm happy to write one if you'd like,
 either as a section of README-builds.html or a file in it's own
 right.  Shall I do that?

 Adding a section to the README-builds.html file on ZERO/SHARK
 builds seems like a good idea to me.

 Agreed.

 Cool, I'll do that.  May I push the other changes in the meantime?

 The hotspot change will need to go through the hotspot team somehow, you
 need to send an email to hotspot-dev
 on that one. All hotspot changes need to go through their integration
 procedures.


Ok.  The equivalent top-level change for Zero was reviewed by you and Tim:

changeset:   134:608937d41381
parent:  131:2c88089b6e1c
user:gbenson
date:Thu Oct 15 13:26:17 2009 +0100
files:   make/hotspot-rules.gmk
description:
6891677: java/build integrate zero assembler JDK changes
Summary: Build changes for the Zero assembler port
Reviewed-by: ohair, tbell

so I guess that's why Gary posted the Shark ones here.

 We are currently discussing whether we want to continue using the jdk7/build
 forest, and instead
 use the jdk7/tl forest for build changes. No final decision has been made,
 but I see no issue with this
 change going to either one.
 Is it possible for you to push the jdk change into the jdk7/tl/jdk repo?


Done on Gary's behalf: http://hg.openjdk.java.net/jdk7/tl/jdk/rev/0cdd73548292

 -kto


 Cheers,
 Gary

 --
 http://gbenson.net/





-- 
Andrew :-)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net

PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8