So I've just checked with MinGW and MKS. Removing the quotes around $(COMPILE_RMIC) in sa.make worked for me because, as Kelly noticed, COMPILE_RMIC is still quoted from its definition in rules.make. In this case I see the following output under MinGW (with VS2010 Express):
...Building sa-jdi.jar ...c:/Software/Java/jdk1.7.0_02\bin\javac -g -encoding ascii -source 6 -target 6 -classpath c:/Software/Java/jdk1.7.0_02/lib/tools.jar -d ../generated/saclasses .... warning: [options] bootstrap class path not set in conjunction with -source 1.6 Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 warning "c:/Software/Java/jdk1.7.0_02\bin\rmic" -classpath ../generated/saclasses -d ../generated/saclasses sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer echo sun.jvm.hotspot.runtime.VM.saBuildVersion=24.0-b01> ../generated/saclasses/sa.properties rm -f ../generated/saclasses/sun/jvm/hotspot/utilities/soql/sa.js and under MKS (with VS2010 Express): ...Building sa-jdi.jar ...C:\Software\Java\jdk1.7.0_02in\javac -g -encoding ascii -source 6 -target 6 -classpath C:\Software\Java\jdk1.7.0_02/lib/tools.jar -d ../generated/saclasses .... warning: [options] bootstrap class path not set in conjunction with -source 1.6 Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 warning "C:\Software\Java\jdk1.7.0_02\bin\rmic" -classpath ../generated/saclasses -d ../generated/saclasses sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer echo sun.jvm.hotspot.runtime.VM.saBuildVersion=24.0-b01> ../generated/saclasses/sa.properties rm -f ../generated/saclasses/sun/jvm/hotspot/utilities/soql/sa.js If I leave $(COMPILE_RMIC) quoted in sa.make, this still works (with double quotes in the output) but with the obvious problems mentioned by David. So I'd vote to remove the quoting in sa.make. Regards, Volker PS: here's the build command line I was using (sorry, but I think gmail is automatically wrapping the lines and I don't know how to prevent that): make ARCH_DATA_MODEL=64 ALT_OUTPUTDIR=c:/Software/OpenJDK/output_amd64_z4_mingw ALT_FREETYPE_LIB_PATH=c:/Software/freetype-2.4.7/objs/win64/vc2010 ALT_FREETYPE_HEADERS_PATH=c:/Software/freetype-2.4.7/include ALT_BOOTDIR=c:/Software/Java/jdk1.7.0_02 ALLOW_DOWNLOADS=true ALT_MSVCRNN_DLL_PATH=c:/Software/OpenJDK/ALT_DROPS_DIR 2>&1 | tee c:/Software/OpenJDK/output_amd64_z4_mingw.log On Wed, Jul 18, 2012 at 6:37 PM, Volker Simonis <volker.simo...@gmail.com> wrote: > That's a strange error. Which version of the makefiles did you use > when you got that error - the ones from your webrev? > > According to > http://cr.openjdk.java.net/~tbell/7181175/webrev.00/make/windows/makefiles/rules.make.sdiff.html > COMPILE_RMIC should be "$(BootStrapDir)\bin\rmic", but in your error > log it is "c:/PROGRA~1/Java/JDK17~1.0_0/bin/rmic" with all forward > slashes. > > I remember that I had some trouble at that point as well when I did > the initial change and quoting COMPILE_RMIC did help so I didn't > thought about it any more. In my old build logs I can even see that I > have double quotes at the place where COMPILE_RMIC is called. I'll > retry locally and let you know if my build works without quoting > COMPILE_RMIC. > > Regards, > Volker > > On Wed, Jul 18, 2012 at 6:46 AM, Tim Bell <tim.b...@oracle.com> 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 >> 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 >> >> make[3]: Entering directory `/d/tools/jdk8/7152336-closed/hotspot/make' >> mkdir -p D:/tools/jdk8/7152336-closed/windows-amd64/hotspot/outputdir >> 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 >> >> >> 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 >>