Can't build latest openjdk6

Joseph D. Darcy Joe.Darcy at Sun.COM
Fri Aug 14 04:27:47 UTC 2009


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