2009/8/14 Martin Buchholz <[email protected]>: > As an experiment, I tried the obvious > > diff --git a/make/Defs-internal.gmk b/make/Defs-internal.gmk > --- a/make/Defs-internal.gmk > +++ b/make/Defs-internal.gmk > @@ -205,6 +205,7 @@ > JDK_MAKE_SHARED_DIR=$(ABS_JDK_TOPDIR)/make/common/shared \ > EXTERNALSANITYCONTROL=true \ > TARGET_CLASS_VERSION=$(TARGET_CLASS_VERSION) \ > + SOURCE_LANGUAGE_VERSION=$(TARGET_CLASS_VERSION) \ > MILESTONE=$(MILESTONE) \ > BUILD_NUMBER=$(BUILD_NUMBER) \ > JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) \ > > and to my surprise, that caused the build to succeed. > Note: This message still in bug-reporting, not bug-fixing, mode! >
Worked for me too. > Martin > > On Thu, Aug 13, 2009 at 21:27, Joseph D. Darcy<[email protected]> wrote: >> I'll do some test builds myself on Friday. >> >> -Joe >> >> Jonathan Gibbons wrote: >>> >>> Martin, >>> >>> Comment noted. I'm now on vacation, so I'll look at this next week. >>> >>> -- Jon >>> >>> On Aug 13, 2009, at 6:10 PM, Martin Buchholz wrote: >>> >>>> It appears that ant is being invoked with "-Djavac.target=5", but not >>>> with -Djavac.source >>>> >>>> execve("/usr/bin/ant", ["ant", "-Djdk.version=1.6.0", >>>> "-Dfull.version=1.6.0-internal-ma"..., "-Dmilestone=internal", >>>> "-Dbuild.number=b00", "-Djavac.target=5", "-Dboot.java.home=/ ..... >>>> >>>> In turn, this may be due to COMMON_BUILD_ARGUMENTS >>>> including TARGET_CLASS_VERSION but not SOURCE_LANGUAGE_VERSION >>>> >>>> # Common make arguments (supplied to all component builds) >>>> COMMON_BUILD_ARGUMENTS = \ >>>> JDK_TOPDIR=$(ABS_JDK_TOPDIR) \ >>>> JDK_MAKE_SHARED_DIR=$(ABS_JDK_TOPDIR)/make/common/shared \ >>>> EXTERNALSANITYCONTROL=true \ >>>> TARGET_CLASS_VERSION=$(TARGET_CLASS_VERSION) \ >>>> MILESTONE=$(MILESTONE) \ >>>> BUILD_NUMBER=$(BUILD_NUMBER) \ >>>> JDK_BUILD_NUMBER=$(JDK_BUILD_NUMBER) \ >>>> FULL_VERSION=$(FULL_VERSION) \ >>>> PREVIOUS_JDK_VERSION=$(PREVIOUS_JDK_VERSION) \ >>>> JDK_VERSION=$(JDK_VERSION) \ >>>> JDK_MKTG_VERSION=$(JDK_MKTG_VERSION) \ >>>> JDK_MAJOR_VERSION=$(JDK_MAJOR_VERSION) \ >>>> JDK_MINOR_VERSION=$(JDK_MINOR_VERSION) \ >>>> JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) >>>> >>>> which would explain why invoking ant directly in the langtools directory >>>> without -Djavac.target=5 would work fine (I haven't tried it). >>>> >>>> langtools build.xml could try to check javac.target and ensure that >>>> javac.source <= javac.target >>>> but I don't know how to do that (I hack make, not ant). >>>> >>>> Martin >>>> >>>> On Thu, Aug 13, 2009 at 17:35, Jonathan Gibbons<[email protected]> >>>> wrote: >>>>> >>>>> The primary goal of changeset: 49:608910eef036 is to bring the >>>>> langtools >>>>> build into line between jdk6 and jdk7, so that we can rely on >>>>> eseentially >>>>> the same behavior (subject to version differences) across the two >>>>> repositoiries. >>>>> >>>>> The override mechanism is unused and harmless since javac.source is >>>>> correctly defaulted in build.properties. It is included in 6 to >>>>> minimize >>>>> the differences between 6 and 7. >>>>> >>>>> Generally, the langtools build tries to isolate the user as much as >>>>> possible >>>>> from the version of Java used to run Ant. >>>>> To build langtools, you should just need to set boot.java.home; to run >>>>> the >>>>> regression tests, you will also need to >>>>> set target.java.home. >>>>> >>>>> -- Jon >>>>> >>>>> >>>>> On Aug 13, 2009, at 5:00 PM, Mark Wielaard wrote: >>>>> >>>>>> Hi Martin, >>>>>> >>>>>> On Thu, 2009-08-13 at 15:25 -0700, Martin Buchholz wrote: >>>>>>> >>>>>>> /home/martinrb/ws/openjdk6/build/linux-amd64/langtools/build/classes >>>>>>> [javac] javac: source release 6 requires target release 1.6 >>>>>>> >>>>>>> BUILD FAILED >>>>>>> >>>>>>> /usr/local/google/home/martin/ws/openjdk6/langtools/make/build.xml:196: >>>>>>> The following error occurred while executing this line: >>>>>>> >>>>>>> /usr/local/google/home/martin/ws/openjdk6/langtools/make/build.xml:525: >>>>>>> Compile failed; see the compiler error output for details. >>>>>>> >>>>>>> whether or not I use a vanilla jdk6 (or even jdk7) as bootstrap jdk >>>>>>> >>>>>>> Can anyone else successfully build openjdk6? >>>>>>> If so, what is the secret? >>>>>>> Did I miss something in my inbox? >>>>>> >>>>>> I haven't tried upgrading oj6 yet. And one of the reasons for not >>>>>> upgrading icedtea6 atm is to make sure the recent changes (which as far >>>>>> as I could tell were not discussed on the list) to the source and >>>>>> target >>>>>> defaults don't break the bootstrap. The commit you probably want to >>>>>> inspect is: >>>>>> >>>>>> changeset: 49:608910eef036 >>>>>> user: jjg >>>>>> date: Tue Aug 11 16:40:03 2009 -0700 >>>>>> files: make/Makefile make/build.properties make/build.xml >>>>>> description: >>>>>> 6870641: [langtools] update make/build.* for jdk6 >>>>>> Reviewed-by: darcy >>>>>> >>>>>> Unfortunately the bug associated with that commit is also not public. >>>>>> >>>>>> The idea behind the commit seems to be to make the -source and -target >>>>>> explicit in more places (which is a good thing). There is now also an >>>>>> override mechanism, that I admit to not fully understand because it >>>>>> seems to be never used, through setting SOURCE_LANGUAGE_VERSION and/or >>>>>> JAVAC_SOURCE_ARG. >>>>>> >>>>>> Also note that with ant the default source and target depends on the VM >>>>>> that runs the ant process (which might be different from the bootstrap >>>>>> VM you are using, it probably depends on your ant installation). >>>>>> >>>>>> 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
