Can't build latest openjdk6
Martin Buchholz
martinrb at google.com
Fri Aug 14 01:10:06 UTC 2009
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<Jonathan.Gibbons at sun.com> 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
>>
>
>
More information about the build-dev
mailing list