RFR: 7181175 Enable hotspot builds on Windows with MinGW/MSYS

Kelly O'Hair kelly.ohair at oracle.com
Wed Jul 18 17:48:19 UTC 2012


Notes below...  just chatted with Tim in his office...

On Jul 17, 2012, at 9:46 PM, Tim Bell wrote:

> On 07/17/12 17:16, David Holmes wrote:
>> I'm not sure if you are agreeing with me :) so to be clear. We have:
> 
> Thanks for the clarification.  I think we all agree here, but best to be sure.
> 
>> 
>> COMPILE_JAVAC="$(BootStrapDir)\bin\javac" $(BOOTSTRAP_JAVAC_FLAGS)
>> COMPILE_RMIC="$(BootStrapDir)\bin\rmic"
>> 
>> at present. 
> 
> Correct.  This is in hotspot/make/windows/makefiles/rules.make
> 
>> But if we were to change that to
>> 
>> COMPILE_RMIC="$(BootStrapDir)\bin\rmic" $(BOOTSTRAP_RMIC_FLAGS)
>> for example, then
>> 
>> "$(COMPILE_RMIC)" -classpath ...
>> 
>> would not work.
> 
> Again, correct.
> 
> Unfortunately, my efforts to do the logical thing are running off into the tall weeds:
> 
> 
> ########################################################################
> ########################################################################
> ##### Entering hotspot for target(s) all_product #####
> ########################################################################
> 
> cd  ./hotspot/make && \
>            make JDK_TOPDIR=/d/tools/jdk8/7152336-closed/jdk JDK_MAKE_SHARED_DIR=/d/tools/jdk8/7152336-closed/jdk/make/common/shared EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00 JDK_BUILD_NUMBER=b00 FULL_VERSION=1.8.0-internal-tbbell_2012_07_16_20_52-b00 PREVIOUS_JDK_VERSION=1.7.0 JDK_VERSION=1.8.0 JDK_MKTG_VERSION=8 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=8 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=7 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0 ANT_HOME="D:/APACHE~1.0" ALT_OUTPUTDIR=D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir ALT_EXPORT_PATH=D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/import BUILD_FLAVOR=product ALT_SLASH_JAVA="D:/java/" ALT_BOOTDIR=C:/PROGRA~1/Java/JDK17~1.0_0 ALT_LANGTOOLS_DIST=D:/tools/jdk8/7152336-closed/windows-amd64/langtools/dist all_product
> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1

the above is a GNU make, and the =/d/ paths should be ok.

> make[2]: Entering directory `/d/tools/jdk8/7152336-closed/hotspot/make'
> cd /d/tools/jdk8/7152336-closed/hotspot/make; \
>        make BUILD_FLAVOR=product VM_TARGET=product generic_build2 ALT_OUTPUTDIR=D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir
> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1

The above is a GNU make too.

> 
> make[3]: Entering directory `/d/tools/jdk8/7152336-closed/hotspot/make'
> mkdir -p D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir

But this next one is an NMAKE.  And I don't think the /d/ paths are right here.

> cd D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir; \
>            MAKEFLAGS= MFLAGS= nmake -NOLOGO -f /d/tools/jdk8/7152336-closed/hotspot/make/windows/build.make \
>                      Variant=compiler2 \
>                      WorkSpace=/d/tools/jdk8/7152336-closed/hotspot \
>                      BootStrapDir=/c/PROGRA~1/Java/JDK17~1.0_0 \
>                      BuildUser=tbbell \
>                       LP64=1 ARCH=x86 BUILDARCH=amd64 Platform_arch=x86 Platform_arch_model=x86_64 ENABLE_FULL_DEBUG_SYMBOLS=1 ZIP_DEBUGINFO_FILES=1 RM="rm -f" ZIPEXE=zip JDK_MKTG_VERSION=8 JDK_MAJOR_VER=1 JDK_MINOR_VER=8 JDK_MICRO_VER=0 JDK_BUILD_NUMBER=0 BUILD_WIN_SA=1 JAVA_HOME=/c/PROGRA~1/Java/JDK17~1.0_0 OUTPUTDIR=/d/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir GAMMADIR=/d/tools/jdk8/7152336-closed/hotspot MAKE_VERBOSE=y HOTSPOT_RELEASE_VERSION=24.0-b14 JRE_RELEASE_VERSION=1.8.0-internal-tbbell_2012_07_16_20_52-b00 HOTSPOT_BUILD_VERSION= product
>        mkdir windows_amd64_compiler2
> 

I would have expected a whole bunch of stuff here as the VM is built...  but it goes to SA next? Is that right?

I think the very first NMAKE needs to be investigated first.

-kto

> 
>        cd windows_amd64_compiler2
>        nmake -nologo -f d:/tools/jdk8/7152336-closed/hotspot\make\windows\makefiles\top.make BUILD_FLAVOR=product ARCH=x86
> nmake in .\generated
>        cd generated && c:\PROGRA~2\MICROS~2.0\VC\BIN\amd64\nmake.EXE -NOLOGO -f d:/tools/jdk8/7152336-closed/hotspot\make\windows\makefiles\generated.make DIR=.\generated BUILD_FLAVOR=product
>         mkdir -p ../generated/saclasses
> ...Building sa-jdi.jar
> ...c:/PROGRA~1/Java/JDK17~1.0_0/bin/javac -g -encoding ascii -source 6 -target 6 -classpath c:/PROGRA~1/Java/JDK17~1.0_0/lib/tools.jar -d ../generated/saclasses ....
>        c:/PROGRA~1/Java/JDK17~1.0_0/bin/rmic -classpath ../generated/saclasses -d ../generated/saclasses sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer
>         echo sun.jvm.hotspot.runtime.VM.saBuildVersion=24.0-b14> ../generated/saclasses/sa.properties
> The system cannot find the path specified.
> NMAKE : fatal error U1077: 'echo' : return code '0x1'
> Stop.
> NMAKE : fatal error U1077: 'cd' : return code '0x2'
> Stop.
> NMAKE : fatal error U1077: 'c:\PROGRA~2\MICROS~2.0\VC\BIN\amd64\nmake.EXE' : return code '0x2'
> Stop.
> make[3]: *** [generic_build2] Error 2
> make[3]: Leaving directory `/d/tools/jdk8/7152336-closed/hotspot/make'
> make[2]: *** [product] Error 2
> make[2]: Leaving directory `/d/tools/jdk8/7152336-closed/hotspot/make'
> make[1]: *** [hotspot-build] Error 2
> make[1]: Leaving directory `/d/tools/jdk8/7152336-closed'
> make: *** [build_product_image] Error 2
> 




More information about the build-dev mailing list