Problems building jdk8 in Windows - stalls at hotspot, surprisingly continues, refuses to link

Mads Bondo Dydensborg mbd at terma.com
Wed Jan 14 14:35:25 UTC 2015


Hi there

I am trying to build jdk8 on Windows 7 64 bit, using cygwin and MS Visual Studio Express. I am pretty experienced in building stuff in Unix/Linux, but Windows is new to me.

Principally, I am using the guide at http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html, but for reasons I cannot fathom, I am unable to retrieve the sources using hg. So, I am using the source package that can be found on this page: http://download.java.net/openjdk/jdk8/ (132-03).

I am using 

$ java -version
java version "1.7.0_72"
Java(TM) SE Runtime Environment (build 1.7.0_72-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)

As the boot Java, freetype is installed, a copy of the .dll.a file has been made.

I believe I am past the configure step, with the following final output from it:
====================================================
A new configuration has been successfully created in
/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/build/windows-x86-normal-server-release
using configure arguments '--with-target-bits=32'.
Configuration summary:
* Debug level:    release
* JDK variant:    normal
* JVM variants:   server
* OpenJDK target: OS: windows, CPU architecture: x86, address length: 32
Tools summary:
* Environment:    cygwin version 1.7.17(0.262/5/3) (root at /cygdrive/c/apps/cygwin)
* Boot JDK:       java version "1.7.0_72"  Java(TM) SE Runtime Environment (build 1.7.0_72-b14)  Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)   (at /cygdrive/c/progra~1/java/jdk17~1.0_7)
* C Compiler:     Microsoft CL.EXE version 16.00.30319.01 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/cl)
* C++ Compiler:   Microsoft CL.EXE version 16.00.30319.01 (at /cygdrive/c/progra~2/micros~1.0/vc/bin/cl)
Build performance summary:
* Cores to use:   7
* Memory limit:   15950 MB
* ccache status:  not available for your system

However, when I try to build, the results are not uplifting. I have tried a couple of different targets, but common for all I have tried, is that they stall/hang somewhere while building the hotspot target. Say, e.g, when trying the JDK:

make LOG=trace JOBS=1 jdk

it will stall here:
+ nmake -NOLOGO -f C:/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/hotspot/make/windows/build.make Variant=compiler2 'WorkSpace=C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot' 'BootStrapDir=C:\progra~1\java\jdk17~1.0_7' BuildUser=mbd ARCH=x86 BUILDARCH=i486 Platform_arch=x86 Platform_arch_model=x86_32 ENABLE_FULL_DEBUG_SYMBOLS=1 ZIP_DEBUGINFO_FILES=1 'RM=rm -f' ZIPEXE=zip JDK_MKTG_VERSION=8.0 JDK_MAJOR_VER=1 JDK_MINOR_VER=8 JDK_MICRO_VER=0 JDK_BUILD_NUMBER=0 BUILD_WIN_SA=1 'CXX=C:\progra~2\micros~1.0\vc\bin\cl.exe' 'LD=C:\progra~2\micros~1.0\vc\bin\link.exe' 'RC=C:\progra~2\micros~3\windows\v7.0a\bin\rc.exe' 'MT=C:\progra~2\micros~3\windows\v7.0a\bin\mt.exe' 'BOOTDIR=C:\progra~1\java\jdk17~1.0_7' 'OUTPUTDIR=C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\build\windows-x86-normal-server-release\hotspot' 'GAMMADIR=C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot' MAKE_VERBOSE=y HOTSPOT_RELEASE_VERSION=25.0-b70 JRE_RELEASE_VERSION=1.8.0-internal-mbd_2015_01_14_13_33-b00 HOTSPOT_BUILD_VERSION= product 
        cd windows_i486_compiler2
        nmake -nologo -f C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\make\windows\makefiles\top.make BUILD_FLAVOR=product ARCH=x86
nmake in ./generated
        cd generated && "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.EXE" -NOLOGO -f C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\make\windows\makefiles\generated.make  DIR=.\generated BUILD_FLAVOR=product

Now, I thought it was hanging, but while I tried to figure out more on the web, this particular build suddenly - after a stall about 30-45 minutes - proceeded, and eventually, after a few minutes, produced:

C:\progra~2\micros~1.0\vc\bin\cl.exe  /nologo /W3 /WX /Zi /D "IA32" /D "WIN32" /D "_WINDOWS" /D "VM_LITTLE_ENDIAN" /D TARGET_OS_FAMILY_windows /D TARGET_ARCH_x86 /D TARGET_ARCH_MODEL_x86_32 /D TARGET_OS_ARCH_windows_x86 /D TARGET_OS_ARCH_MODEL_windows_x86_32 /D TARGET_COMPILER_visCPP /MD /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB /MP /O2 /Oy- /D "PRODUCT" /D "COMPILER1" /D "COMPILER2" /D "HOTSPOT_RELEASE_VERSION=\"25.0-b70\"" /D "JRE_RELEASE_VERSION=\"1.8.0-internal-mbd_2015_01_14_13_33-b00\"" /D "HOTSPOT_LIB_ARCH=\"i386\"" /D "HOTSPOT_BUILD_TARGET=\"product\"" /D "HOTSPOT_BUILD_USER=\"mbd\"" /D "HOTSPOT_VM_DISTRO=\"OpenJDK\"" /I "..\generated"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\share\vm"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\share\vm\precompiled"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\share\vm\prims"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\os\windows\vm"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\os_cpu\windows_x86\vm"  /I "C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot\src\cpu\x86\vm" /D "_JNI_IMPLEMENTATION_" /Fp"vm.pch" /Yu"precompiled.hpp" /c ..\generated\adfiles\ad_x86_32.cpp ..\generated\adfiles\ad_x86_32_clone.cpp ..\generated\adfiles\ad_x86_32_expand.cpp ..\generated\adfiles\ad_x86_32_format.cpp ..\generated\adfiles\ad_x86_32_gen.cpp ..\generated\adfiles\ad_x86_32_misc.cpp ..\generated\adfiles\ad_x86_32_peephole.cpp ..\generated\adfiles\ad_x86_32_pipeline.cpp ..\generated\adfiles\dfa_x86_32.cpp
ad_x86_32.cpp
ad_x86_32_clone.cpp
ad_x86_32_expand.cpp
ad_x86_32_format.cpp
ad_x86_32_gen.cpp
ad_x86_32_misc.cpp
ad_x86_32_peephole.cpp
ad_x86_32_pipeline.cpp
dfa_x86_32.cpp
        sh C:\apps\cygwin\home\mbd\Compile\openjdk-8-src-b132-03_mar_2014\openjdk\hotspot/make/windows/build_vm_def.sh
        C:\progra~2\micros~1.0\vc\bin\link.exe @C:\apps\cygwin\tmp\nm76D6.tmp
   Creating library jvm.lib and object jvm.exp

LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
NMAKE : fatal error U1077: 'C:\progra~2\micros~1.0\vc\bin\link.exe' : return code '0x463'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.EXE"' : return code '0x2'
Stop.
Makefile:216: recipe for target `generic_build2' failed
make[3]: *** [generic_build2] Error 2
make[3]: Leaving directory `/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/hotspot/make'
Makefile:167: recipe for target `product' failed
make[2]: *** [product] Error 2
make[2]: Leaving directory `/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/hotspot/make'
HotspotWrapper.gmk:44: recipe for target `/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/build/windows-x86-normal-server-release/hotspot/_hotspot.timestamp' failed
make[1]: *** [/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/build/windows-x86-normal-server-release/hotspot/_hotspot.timestamp] Error 2
make[1]: Leaving directory `/cygdrive/c/apps/cygwin/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk/make'
/home/mbd/Compile/openjdk-8-src-b132-03_mar_2014/openjdk//make/Main.gmk:108: recipe for target `hotspot-only' failed
make: *** [hotspot-only] Error 2

I am a bit stumped at this time, and would much appreciate a hand. I have the config.log and build.log preserved, but at this point, I did not want to spam the list more than necessary.

Any help/ideas/suggestions much appreciated.

Thanks

Mads



More information about the build-dev mailing list