openjdk8u stable 32bit for windows build environment

Peter Koellner peter at asgalon.net
Tue Dec 20 15:45:07 UTC 2016


Hi!

I have been trying for a week now to build openjdk8 for windows, until now with 
disappointing results. I wasted half a week starting out with windows 10 and the jdk8 repository, and now have a windows7 home 64bit with 32bit cygwin 2.6 and the last stable version
cloned from jdk8u following http://openjdk.java.net/projects/jdk8u/. Unfortunately, I still do not reach a useable runtime environment though the bootcycle-image builds without errors. Make test runs for about 4 hours on my vm and results in quite a large number of failed tests, the runtime throws exceptions because it cannot initialize the fontmanager when opening a JFrame. Before going into the details too much, this is a stable release that is supposed to build cleany and work properly, right? So the real problem is the build environment and maybe the configuration.

Could someone please point me to valid instructions how to set up a valid build environment to produce a 32bit runtime for Windows?

The reason for all this exercise is that we have a third-party-applet for some smartcard application which we need to persuade to use a configured network share location as "user.home" system property. So the idea is to change jdk/src/windows/native/java/lang/java_props_md.c to look for a registry key string value before setting a default value instead of using this KnownFolder id thingy.

So: Since the result after configuring the thing still comes out broken, the autoconf scripts are missing vital environment configuration details. So, I would like to have the following information:

- What exact windows version do I need to build the 32bit stable release build? Do I need a 32bit Windows for that? Which one? XP? Windows 7? Windows 8? Windows Server 2008? R2?
- cygwin 32 bit is now at version 2.6. Does this work or do I need some ancient version?
- What exact version of the freetype library do I have to install? I followed the installation instructions from the .configure script.
- I am using Visual Studio C++ Express 2010 as below:

Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.0.30319 RTMRel

Installed Version: VC Express

Microsoft Visual C++ 2010   01013-532-2002287-70533
Microsoft Visual C++ 2010

The VM is set up as follows (from VS express info):

Sistema operativo    Microsoft Windows 7 Home Premium
Versión	6.1.7601 Service Pack 1 Compilación 7601
Descripción adicional del sistema operativo	No disponible
Fabricante del sistema operativo  Microsoft Corporation
Nombre del sistema     WIN7VM
Fabricante del sistema innotek GmbH
Modelo del sistema     VirtualBox
Tipo de sistema	       PC basado en x64
Procesador	       Intel(R) Core(TM) i7 CPU       M 620  @ 2.67GHz, 2660 Mhz, 2 procesadores principales, 2 procesadores lógicos
Versión y fecha de BIOS		innotek GmbH VirtualBox, 01.12.2006
Versión de SMBIOS  2.5
Directorio de Windows	C:\Windows
Directorio del sistema	C:\Windows\system32
Dispositivo de arranque	\Device\HarddiskVolume1
Configuración regional	Deutschland
Capa de abstracción de hardware	Versión = "6.1.7601.17514"
Nombre de usuario   WIN7VM\Peter
Zona horaria	    Hora estándar Europa Occidental
Memoria física instalada (RAM)	  No disponible
Memoria física total	 4,00 GB
Memoria física disponible     991 MB
Memoria virtual total	      8,00 GB
Memoria virtual disponible    5,29 GB
Espacio de archivo de paginación   4,00 GB
Archivo de paginación C:\pagefile.sys

cl says
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for 80x86


Well, I have a spanish windows now, that is part of the problem, since thanks to 
microsoft the home edition can't switch locale to english, which is a reason for several 
tests to fail because they test for en_US formatted output strings, and maybe there are other problems. Before I go and buy some obscure ancient windows version, I want to be pretty sure that it is the right one for this task.


I have now installed JDK 1.7.0_80 as boot jdk.

configure options are now:

./configure --with-boot-jdk=/cygdrive/c/Program\ Files\ \(x86\)/Java/jdk1.7.0_80\
             --with-target-bits=32 \
             --enable-unlimited-crypto \
             --enable-debug \
             --with-conf-name=windows-x86-normal-server-fastdebug \
             --with-cacerts-file=/cygdrive/c/openjdk/cacerts \
             --disable-debug-symbols \
             --disable-zip-debug-info \
             --with-milestone=conectalex \
             --with-build-number=666 \
             --disable-ccache \
             --with-jtreg=c:/openjdk/jtreg

previously, with same result:
./configure --with-boot-jdk=/cygdrive/c/Program\ Files\ \(x86\)/Java/jdk1.7.0_80\
             --with-target-bits=32 \
             --enable-unlimited-crypto \
             --with-cacerts-file=/cygdrive/c/openjdk/cacerts \
             --disable-debug-symbols \
             --disable-zip-debug-info \
             --with-milestone=conectalex \
             --with-build-number=666 \
             --disable-ccache \
             --with-jtreg=c:/openjdk/jtreg



Anything I am missing here? I am not sure if it is only a problem of the freetype library,
sine there are test failures from the cryptography library:
Test results: passed: 3.744; failed: 26
Report written to C:\openjdk\jdk8u\build\windows-x86-normal-server-release\testoutput\jdk_core\JTreport\html\report.html
Results written to C:\openjdk\jdk8u\build\windows-x86-normal-server-release\testoutput\jdk_core\JTwork
Error: Some tests failed or other problems occurred.
Summary: jdk_core
FAILED: Coincidencia
FAILED: com/sun/crypto/provider/Cipher/AES/TestAESCiphers/TestAESWithDefaultProvider.java
FAILED: com/sun/crypto/provider/Cipher/AES/TestAESCiphers/TestAESWithProviderChange.java
FAILED: com/sun/crypto/provider/Cipher/AES/TestAESCiphers/TestAESWithRemoveAddProvider.java
FAILED: com/sun/crypto/provider/Cipher/Blowfish/TestCipherBlowfish.java
FAILED: com/sun/crypto/provider/Cipher/PBE/PBESameBuffer/PBESameBuffer.java
FAILED: com/sun/crypto/provider/Cipher/PBE/TestCipherKeyWrapperPBEKey.java
FAILED: com/sun/crypto/provider/Cipher/PBE/TestCipherPBE.java
FAILED: com/sun/crypto/provider/Cipher/PBE/TestCipherPBECons.java
FAILED: java/net/ipv6tests/TcpTest.java
FAILED: java/net/ipv6tests/UdpTest.java
FAILED: java/rmi/activation/checkusage/CheckUsage.java
FAILED: java/rmi/dgc/retryDirtyCalls/RetryDirtyCalls.java
FAILED: java/security/KeyStore/PKCS12/KeytoolReaderP12Test.java
FAILED: java/util/logging/LocalizedLevelName.java
FAILED: java/util/logging/SimpleFormatterFormat.java
FAILED: javax/security/auth/login/LoginContext/DynamicConfigurationTest.java
FAILED: jdk/lambda/LambdaTranslationTest1.java
FAILED: jdk/lambda/LambdaTranslationTest2.java
FAILED: sun/misc/Version/Version.java
FAILED: sun/security/pkcs11/rsa/TestCACerts.java
FAILED: sun/security/rsa/TestCACerts.java
FAILED: sun/security/tools/keytool/file-in-help.sh
FAILED: sun/security/tools/keytool/newhelp.sh
FAILED: sun/security/tools/keytool/printssl.sh
FAILED: sun/util/logging/SourceClassName.java
TEST STATS: name=jdk_core  run=3770  pass=3744  fail=26
(this was from the last run yesterday, I am running a new test now with JAVA_VM_ARGS="-Duser.language=en -Duser.country=us" to get rid of i18n problems, but it will take a couple of hours and I already see crypto tests failing))

So what I urgently need is precise instructions how to set up a build environment for a windows 32bit build for openjkd8u latest stable release.

-- 
peter kollner <peter at asgalon.net>


More information about the jdk8u-dev mailing list