United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6799900 removal of build directory from HS14 causes the 6u14 control build to fail.
JDK-6799900 : removal of build directory from HS14 causes the 6u14 control build to fail.

Details
Type:
Bug
Submit Date:
2009-02-01
Status:
Closed
Updated Date:
2010-10-15
Project Name:
JDK
Resolved Date:
2009-04-10
Component:
infrastructure
OS:
generic
Sub-Component:
build
CPU:
generic
Priority:
P1
Resolution:
Fixed
Affected Versions:
6u14
Fixed Versions:
6u14 (b01)

Related Reports

Sub Tasks

Description
The control builds for 6u14 b01 are failing, because the build thinks there isn't any hotspot source, so all builds on all platforms are failing for 6u14.

The sanity WARNING occurs if BUILD_HOTSPOT is false.
> WARNING: You are not building HOTSPOT workspace from
>          the control build. Hotspot libs will be obtained from
>          the location set in ALT_HOTSPOT_IMPORT_PATH. 

I'm looking at control/make/common/Defs.gmk

>
> BUILD_HOTSPOT := $(shell if [ -r $(HOTSPOT_TOPDIR)/build/$(PLATFORM) ]; then \
>                           $(ECHO) true; \
>                         else \
>                           $(ECHO) false; \
>                         fi)

Without hotspot/build/$PLATFORM existing, the control build makes the assumption that there is no hotspot source for $PLATFORM, setting BUILD_HOTSPOT to false, which means hotspot isn't built by control, even though the hotspot source is there.

                                    

Comments
SUGGESTED FIX

The fix to this problem looks to be changing

control/make/common/Defs.gmk

From

> BUILD_HOTSPOT := $(shell if [ -r $(HOTSPOT_TOPDIR)/build/$(PLATFORM) ]; then \
>                           $(ECHO) true; \
>                         else \
>                           $(ECHO) false; \
>                         fi)
to


> BUILD_HOTSPOT := $(shell if [ -r $(HOTSPOT_TOPDIR)/make/Makefile ]; then \
>                           $(ECHO) true; \
>                         else \
>                           $(ECHO) false; \
>                         fi)
                                     
2009-02-01
EVALUATION

Hotspot removed the build directory for their HS14 integration into 6u14 b01.    And from what I can tell NO build of 6u14 (or 6u13) was performed prior to integration, otherwise this failure would have been found.


In jdk7
make/Defs-internal.gmk

> HOTSPOT_SRC_AVAILABLE := $(call MkExists,$(HOTSPOT_TOPDIR)/make/Makefile)
> ifndef BUILD_HOTSPOT
>   ifdef ALT_HOTSPOT_IMPORT_PATH
>     BUILD_HOTSPOT := false
>   else
>     BUILD_HOTSPOT := $(HOTSPOT_SRC_AVAILABLE)
>   endif
> endif

So it seems that for HS14, the accepted test for hotspot source is now

          $(HOTSPOT_TOPDIR)/make/Makefile

rather than the old method still used in 6uX

          $(HOTSPOT_TOPDIR)/build/$(PLATFORM)
                                     
2009-02-01



Hardware and Software, Engineered to Work Together