Help to build OpenJDK, Windows 7, VS2008 (VS2010)

Kelly O'Hair kelly.ohair at oracle.com
Tue Dec 14 18:50:29 UTC 2010


See the comments on Paths at
    http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html#windows
I need to add more here, but the PATH order is important.
The system32 paths need to be at the end, after CYGWIN, you don't want  
the windows grep.exe.
The VS compiler paths must be first, you don't want the CYGWIN link.exe.
The ant and jdk bin paths need to be before system32, you don't want  
the system32 java.exe.
So the most reliable order for me is usually: VSpaths ant jdk CYGWIN  
system32
But other orders can work, it depends on what is installed in system32  
and CYGWIN.
The windows PATH order is hard to get right, and sometimes gets lots  
of things added via
the system PATH and software installs.

You said Windows 7, but the makefile seemed to have gotten 6.1 from  
the systeminfo, is that right?
Is 6.1 Windows 7? If so that sure is confusing. :^(
We use Windows 2003 X64 (5.2) for our 64bit windows builds.

You need Visual Studio 2010, we stopped trying to make Visual Studio  
2008 work a long
time ago, not that it couldn't ultimately work, but nobody I know uses  
VS2008 for jdk builds.

The jdk6 boot (ALT_BOOTDIR) needs to be jdk6u14 at least.

You can skip the binary plugs, they are optional and will be going  
away anyway.
Freetype is a royal pain, my apologies for them. I have RFEs to  
explain how to get the right sources and
perform builds on windows, it's not easy. I need help from someone on  
this. Any windows freetype experts out there?

-kto

On Dec 14, 2010, at 3:10 AM, Dang Nhan Nguyen wrote:

> Hi,
>
> I am trying to build openjdk on Windows 7, with VS2008 (or VS2010).
>
> I had problem with freetype check and all the freetype version  
> available is for 32bit. So I loaded the source from Freetype and  
> compile it by myself using VS2010 (64bit).
> I got a .lib file, changed its name to freetype.lib and included it  
> in ALT_FREETYPE_LIB_PATH.
>
> But I still had error with during building freetype_check file (The  
> errors is attached at the end)
> Could anybody help me going through this errors
>
> /Nhan Nguyen
>
> =====================configuration for  
> building===========================
>
> I setup a file buildenv.bat as follow:
> ------------------------------------------------------
> call C:\PROGRA~2\MICROS~1.0\VC\bin\amd64\vcvars32.bat
>
> set VSINSTALLDIR=C:/PROGRA~2/MICROS~1.0  #path to VS2008, I setup  
> path to VS2010 but the Makefile does not recorgnize it and
>                                                                                                # issue 
>  an errors and COMPILER_PATH is EMPTY
> set VCINSTALLDIR=%VSINSTALLDIR%/VC
>
> set PATH=%VSINSTALLDIR%/VC/BIN/amd64;%VSINSTALLDIR%/Common7/IDE;C:/ 
> WINDOWS\system32;C:\WINDOWS;C:
> \WINDOWS\System32\Wbem;c:/cygwin/bin;%ANT_HOME%/bin;C:\PROGRA~1\Java 
> \JDK16~1.0_1\bin
> set JAVA_HOME=
>
> set ANT_HOME=d:/Programs/APACHE~1.0
>
> set ALT_BINARY_PLUGS_PATH=Z:/Projects/openjdk/openjdk7/openjdk- 
> binary-plugs
> set ALT_BOOTDIR=c:/PROGRA~1/Java/JDK16~1.0_1
>
> set ALT_OUTPUTDIR=Z:/Projects/openjdk/openjdk7b121
>
> set ALT_DXSDK_PATH=C:/PROGRA~2/MICROS~1.0SD
> set ALT_COMPILER_PATH=%VCINSTALLDIR%/BIN/amd64
> set WindowsSdkDir=C:\PROGRA~2\MIA713~1\Windows\v7.0A
> set INCLUDE=%VSINSTALLDIR%\vc\include;%WindowsSdkDir%\include
> set LIB=%VSINSTALLDIR%\vc\lib\amd64;%WindowsSdkDir%\lib\x64
>
> set ALT_FREETYPE_HEADERS_PATH=D:/Programs/ft_64/include
> set ALT_FREETYPE_LIB_PATH=D:/Programs/ft_64/lib
>
> bash
>
>
> Here is the output from: make sanity
>
> Build Machine Information:
>    build machine = CSE-665824
>
> Build Directory Structure:
>    CWD = /cygdrive/z/Projects/openjdk/openjdk
>    TOPDIR = .
>    CONTROL_TOPDIR = .
>    LANGTOOLS_TOPDIR = ./langtools
>    JAXP_TOPDIR = ./jaxp
>    JAXWS_TOPDIR = ./jaxws
>    CORBA_TOPDIR = ./corba
>    HOTSPOT_TOPDIR = ./hotspot
>    JDK_TOPDIR = ./jdk
>
> Build Directives:
>    BUILD_LANGTOOLS = true
>    BUILD_JAXP = true
>    BUILD_JAXWS = true
>    BUILD_CORBA = true
>    BUILD_HOTSPOT = true
>    BUILD_JDK    = true
>    DEBUG_CLASSFILES =
>    DEBUG_BINARIES =
>
> Hotspot Settings:
>       HOTSPOT_BUILD_JOBS  =
>       HOTSPOT_OUTPUTDIR   = Z:/Projects/openjdk/openjdk7b121/hotspot/ 
> outputdir
>       HOTSPOT_EXPORT_PATH = Z:/Projects/openjdk/openjdk7b121/hotspot/ 
> import
>
>
>
>
> Bootstrap Settings:
>   BOOTDIR = c:/PROGRA~1/Java/JDK16~1.0_1
>     ALT_BOOTDIR = c:/PROGRA~1/Java/JDK16~1.0_1
>   BOOT_VER = 1.6.0 [requires at least 1.5]
>   OUTPUTDIR = Z:/Projects/openjdk/openjdk7b121
>     ALT_OUTPUTDIR = Z:/Projects/openjdk/openjdk7b121
>   ABS_OUTPUTDIR = Z:/Projects/openjdk/openjdk7b121
>
> Build Tool Settings:
>   SLASH_JAVA = J:
>     ALT_SLASH_JAVA =
>   VARIANT = OPT
>   JDK_DEVTOOLS_DIR = J:/devtools
>     ALT_JDK_DEVTOOLS_DIR =
>   ANT_HOME = d:/Programs/APACHE~1.0
>   UNIXCOMMAND_PATH = /usr/bin/
>     ALT_UNIXCOMMAND_PATH =
>   COMPILER_PATH = C:/PROGRA~2/MICROS~1.0/VC/BIN/amd64/
>     ALT_COMPILER_PATH = C:/PROGRA~2/MICROS~1.0/VC/BIN/amd64
>   DEVTOOLS_PATH = /usr/bin/
>     ALT_DEVTOOLS_PATH =
>   MSVCRT_DLL_PATH = C:/Windows/System32
>     ALT_MSVCRT_DLL_PATH = C:/Windows\System32
>   MSVCRNN_DLL_PATH = C:/PROGRA~2/MICROS~1.0/VC/redist/x86/ 
> Microsoft.VC90.CRT
>     ALT_MSVCRNN_DLL_PATH =
>   MSDEVTOOLS_PATH = C:/PROGRA~2/MICROS~1.0/VC/Bin/amd64/../../../
>     ALT_MSDEVTOOLS_PATH =
>   COMPILER_NAME = Microsoft Windows SDK with Visual Studio 9  
> (6001.18000.367)
>   COMPILER_VERSION = VS2008
>   CC_VER = 15.00.30729.01 [requires at least 15.00.21022.08]
>   ZIP_VER = 3.0 [requires at least 2.2]
>   UNZIP_VER = 6.00 [requires at least 5.12]
>   LINK_VER = 9.00.30729.01 [requires at least 9.00.21022.08]
>   ANT_VER = 1.8.0 [requires at least 1.6.3]
>   TEMPDIR = Z:/Projects/openjdk/openjdk7b121/tmp
>
> Build Directives:
>   OPENJDK = true
>   USE_HOTSPOT_INTERPRETER_MODE =
>   PEDANTIC =
>   DEV_ONLY =
>   NO_DOCS =
>   NO_IMAGES =
>   TOOLS_ONLY =
>   INSANE =
>   COMPILE_APPROACH = normal
>   FASTDEBUG =
>   COMPILER_WARNINGS_FATAL = false
>   COMPILER_WARNING_LEVEL = 3
>   INCREMENTAL_BUILD = false
>   CC_HIGHEST_OPT =
>   CC_HIGHER_OPT =
>   CC_LOWER_OPT =
>   CXXFLAGS =  -O1 -Zi -nologo -MD /D _STATIC_CPPLIB  -FdZ:/Projects/ 
> openjdk/openjdk7b121/tmp/obj64/.pdb -FmZ:/Projects/openjdk/ 
> openjdk7b121/tmp/obj64/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE
>   CFLAGS =  -O1   -Zi -nologo -MD /D _STATIC_CPPLIB  -FdZ:/Projects/ 
> openjdk/openjdk7b121/tmp/obj64/.pdb -FmZ:/Projects/openjdk/ 
> openjdk7b121/tmp/obj64/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE
>   BOOT_JAVA_CMD = c:/PROGRA~1/Java/JDK16~1.0_1/bin/java -XX:- 
> PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput - 
> Xmx896m -Xms128m -XX:PermSize=32m -XX:MaxPermSize=160m
>   BOOT_JAVAC_CMD = c:/PROGRA~1/Java/JDK16~1.0_1/bin/javac  -J- 
> XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX: 
> +UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx896m -J-Xms128m - 
> J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 - 
> target 6 -XDignore.symbol.file=true
>   BOOT_JAR_CMD = c:/PROGRA~1/Java/JDK16~1.0_1/bin/jar
>   BOOT_JARSIGNER_CMD = c:/PROGRA~1/Java/JDK16~1.0_1/bin/jarsigner
>
> Build Platform Settings:
>   USER = nhann
>   PLATFORM = windows
>   ARCH = amd64
>   LIBARCH = amd64
>   ARCH_FAMILY = amd64
>   ARCH_DATA_MODEL = 64
>   ARCHPROP = amd64
>   PROCESSOR_ARCHITECTURE = x86
>   PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 23 Stepping 10,  
> GenuineIntel
>   USING_CYGWIN = true
>   CYGWIN_VER = 6.1 [requires at least 4.0]
>   CYGPATH_CMD = cygpath -a -s -m
>   OS_VERSION = 6.1 [requires at least 5.2]
>   OS_VARIANT_NAME =
>   OS_VARIANT_VERSION = 6.1
>   TEMP_FREE_SPACE = 16690384
>   FREE_SPACE = 686704
>   MB_OF_MEMORY = 3965
>
> GNU Make Settings:
>   MAKE = make
>   MAKE_VER = 3.80 [requires at least 3.78]
>   MAKECMDGOALS = sanity
>   MAKEFLAGS =  --unix -w
>   SHELL = /bin/sh.exe
>
> Target Build Versions:
>   JDK_VERSION = 1.7.0
>   MILESTONE = internal
>   RELEASE = 1.7.0-internal
>   FULL_VERSION = 1.7.0-internal-nhann_2010_12_14_11_49-b00
>   BUILD_NUMBER = b00
>
> External File/Binary Locations:
>   USRJDKINSTANCES_PATH = C:/PROGRA~1/Java
>   BUILD_JDK_IMPORT_PATH = J:/re/jdk/1.7.0/promoted/latest/binaries
>     ALT_BUILD_JDK_IMPORT_PATH =
>   JDK_IMPORT_PATH = J:/re/jdk/1.7.0/promoted/latest/binaries/windows- 
> amd64
>     ALT_JDK_IMPORT_PATH =
>   LANGTOOLS_DIST =
>     ALT_LANGTOOLS_DIST = Z:/Projects/openjdk/openjdk7b121/langtools/ 
> dist
>   CORBA_DIST =
>     ALT_CORBA_DIST = Z:/Projects/openjdk/openjdk7b121/corba/dist
>   JAXP_DIST =
>     ALT_JAXP_DIST = Z:/Projects/openjdk/openjdk7b121/jaxp/dist
>   JAXWS_DIST =
>     ALT_JAXWS_DIST = Z:/Projects/openjdk/openjdk7b121/jaxws/dist
>   HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
>     ALT_HOTSPOT_DOCS_IMPORT_PATH =
>   HOTSPOT_IMPORT_PATH = Z:/Projects/MFAGDY~3/openjdk/OMJVW4~H/ 
> hotspot/import
>     ALT_HOTSPOT_IMPORT_PATH = Z:/Projects/openjdk/openjdk7b121/ 
> hotspot/import
>   HOTSPOT_SERVER_PATH = Z:/Projects/MFAGDY~3/openjdk/OMJVW4~H/ 
> hotspot/import/jre/bin/server
>     ALT_HOTSPOT_SERVER_PATH =
>   HOTSPOT_LIB_PATH = Z:/Projects/MFAGDY~3/openjdk/OMJVW4~H/hotspot/ 
> import/lib
>     ALT_HOTSPOT_LIB_PATH =
>   DXSDK_VER = 0x0900
>   DXSDK_PATH = C:/PROGRA~2/MICROS~1.0SD
>     ALT_DXSDK_PATH = C:/PROGRA~2/MICROS~1.0SD
>   DXSDK_INCLUDE_PATH = C:/PROGRA~2/MICROS~1.0SD/Include
>     ALT_DXSDK_INCLUDE_PATH =
>   DXSDK_LIB_PATH = C:/PROGRA~2/MICROS~1.0SD/Lib/x64
>     ALT_DXSDK_LIB_PATH =
>   CACERTS_FILE = ./../src/share/lib/security/cacerts
>     ALT_CACERTS_FILE =
>
> OpenJDK-specific settings:
>   FREETYPE_HEADERS_PATH = D:/Programs/ft_64/include
>     ALT_FREETYPE_HEADERS_PATH = D:/Programs/ft_64/include
>   FREETYPE_LIB_PATH = D:/Programs/ft_64/lib
>     ALT_FREETYPE_LIB_PATH = D:/Programs/ft_64/lib
>
> OPENJDK Import Binary Plug Settings:
>   IMPORT_BINARY_PLUGS = true
>   BINARY_PLUGS_JARFILE = Z:/Projects/openjdk/openjdk7/openjdk-binary- 
> plugs/jre/lib/rt-closed.jar
>     ALT_BINARY_PLUGS_JARFILE =
>   BINARY_PLUGS_PATH = Z:/Projects/openjdk/openjdk7/openjdk-binary- 
> plugs
>     ALT_BINARY_PLUGS_PATH = Z:/Projects/openjdk/openjdk7/openjdk- 
> binary-plugs
>   BUILD_BINARY_PLUGS_PATH = J:/re/jdk/1.7.0/promoted/latest/openjdk/ 
> binaryplugs
>     ALT_BUILD_BINARY_PLUGS_PATH =
>   PLUG_LIBRARY_NAMES =
>
> Previous JDK Settings:
>   PREVIOUS_RELEASE_PATH = USING-PREVIOUS_RELEASE_IMAGE
>     ALT_PREVIOUS_RELEASE_PATH =
>   PREVIOUS_JDK_VERSION = 1.6.0
>     ALT_PREVIOUS_JDK_VERSION =
>   PREVIOUS_JDK_FILE =
>     ALT_PREVIOUS_JDK_FILE =
>   PREVIOUS_JRE_FILE =
>     ALT_PREVIOUS_JRE_FILE =
>   PREVIOUS_RELEASE_IMAGE = c:/PROGRA~1/Java/JDK16~1.0_1
>     ALT_PREVIOUS_RELEASE_IMAGE =
>
> WARNING: To build Java 2 SDK 1.7.0 you need :
>        VS2008 - link.exe version "9.00.21022.08"
>        Specifically the Microsoft Windows SDK with Visual Studio 9  
> (6001.18000.367) link.exe.
>         You appear to be using Linker version "9.00.30729.01"
>
> ERROR: FreeType version  2.3.0  or higher is required.
>  make[2]: Entering directory `/cygdrive/z/Projects/openjdk/openjdk/ 
> jdk/make/tools/freetypecheck'
> /usr/bin/mkdir -p Z:/Projects/openjdk/openjdk7b121/btbins
> rm -f Z:/Projects/openjdk/openjdk7b121/btbins/ 
> freetype_versioncheck.exe
> C:/PROGRA~2/MICROS~1.0/VC/BIN/amd64/cl /nologo /c -ID:/Programs/ 
> ft_64/include -ID:/Programs/ft_64/include/freetype2 - 
> DREQUIRED_FREETYPE_VERSION=2.3.0 -FoZ:/Projects/openjdk/openjdk7b121/ 
> btbins/freetype_versioncheck.obj freetypecheck.c
> freetypecheck.c
> C:/PROGRA~2/MICROS~1.0/VC/BIN/amd64/link D:/Programs/ft_64/lib/ 
> freetype.lib /manifest  /OUT:Z:/Projects/openjdk/openjdk7b121/btbins/ 
> freetype_versioncheck.exe Z:/Projects/openjdk/openjdk7b121/btbins/ 
> freetype_versioncheck.obj
> Microsoft (R) Incremental Linker Version 9.00.30729.01
> Copyright (C) Microsoft Corporation.  All rights reserved.
>
> freetype_versioncheck.obj : error LNK2019: unresolved external  
> symbol __imp_FT_Library_Version referenced in function main
> freetype_versioncheck.obj : error LNK2019: unresolved external  
> symbol __imp_FT_Init_FreeType referenced in function main
> Z:/Projects/openjdk/openjdk7b121/btbins/freetype_versioncheck.exe :  
> fatal error LNK1120: 2 unresolved externals
> make[2]: Leaving directory `/cygdrive/z/Projects/openjdk/openjdk/jdk/ 
> make/tools/freetypecheck'
> Failed to build freetypecheck.
>
> Exiting because of the above error(s).
>
> --------------------------------------------------------
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/build-dev/attachments/20101214/8a44cbf8/attachment.html>


More information about the build-dev mailing list