Can't build latest openjdk6

Jonathan Gibbons Jonathan.Gibbons at Sun.COM
Fri Aug 14 01:24:04 UTC 2009


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