problem building OpenJDK on Windows 7 in langtools

Kelly O'Hair kelly.ohair at oracle.com
Mon Feb 4 17:21:37 UTC 2013


All paths supplied to the ALT variables and things like ANT_HOME need to be in the c:/ style paths.
Ignore what the ant scripts echo in error messages, or compiler warnings, that's a red herring.

So ALT_BOOTDIR in your case needs to be set to C:/OpenJDK/jdk-6u37
and ANT_HOME needs to be  C:/OpenJDK/apache-ant-1.8.4

The ant and java.exe processes will not understand /cygdrive/ paths, and use of \ in paths will cause
all kinds of shell issues, just like using spaces in paths will.

Please read http://hg.openjdk.java.net/jdk7u/jdk7u-dev/raw-file/tip/README-builds.html#windows

-kto

On Feb 3, 2013, at 11:32 PM, Randy Nielsen wrote:

> I'm trying to build 64 bit java 7 on 64 bit Windows 7 with Cygwin, using instructions from http://hg.openjdk.java.net/jdk7/build/raw-file/tip/README-builds.html
> 
> I built environment variables in Windows then simply typed "make".  I get pass the sanity make sanity but choke fairly early in the langtools make.
> Full console output is at the end of the post.  Here are the failure lines:
> 
> 
> -def-pcompile:
>    [javac] Compiling 2 source files to C:\OpenJDK\jdk7-source\openjdk\build\windows-amd64\langtools\build\toolclasses
> 
> BUILD FAILED
> C:\OpenJDK\jdk7-source\openjdk\langtools\make\build.xml:860: Error running \cygdrive\c\OpenJDK\jdk-6u37\bin\javac compiler
> 
> Total time: 0 seconds
> make[2]: *** [build] Error 1
> make[2]: Leaving directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk/langtools/make'
> make[1]: *** [langtools-build] Error 2
> make[1]: Leaving directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk'
> make: *** [build_product_image] Error 2
> 
> 
> I'm puzzled because the failure message appears to show that the build is trying to run javac with "\" separators instead of "/":
> \cygdrive\c\OpenJDK\jdk-6u37\bin\javac
> 
> Invoking /cygdrive/c/OpenJDK/jdk-6u37/bin/javac works, producing the usual usage lines.
> 
> On the surface the problem is \ vs. / but how can that be since ALT_BOOTDIR=/cygdrive/c/OpenJDK/jdk-6u37?  So I could dig deeper I assumed that
> the problem was something else but can find no log file showing the parameters that javac was called with.
> 
> Can anyone help?
> 
> Thanks,
> 
> Randy
> 
> HERE IS THE FULL CYGWIN CONSOLE OUTPUT:
> 
> Administrator at WIN-R7HSHTAIIHC ~
> $ cd /cygdrive/c/OpenJDK/jdk7-source/openjdk
> 
> Administrator at WIN-R7HSHTAIIHC /cygdrive/c/OpenJDK/jdk7-source/openjdk
> $ make
> cygwin warning:
>  MS-DOS style path detected: C:/PROGRA~2/MI4ADD~1
>  Preferred POSIX equivalent is: /cygdrive/c/PROGRA~2/MI4ADD~1
>  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
>  Consult the user's guide for more details about POSIX paths:
>    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
> ( cd  ./jdk/make && \
>  make sanity HOTSPOT_IMPORT_CHECK=false JDK_TOPDIR=C:/OpenJDK/JDK7-S~1/openjdk/jdk JDK_MAKE_SHARED_DIR=C:/OpenJDK/JDK7-S~1/openjdk/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.7.0-internal-administrator_2013_02_03_23_27-b00 PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0 ANT_HOME="/cygdrive/c/OpenJDK/apache-ant-1.8.4" ALT_OUTPUTDIR=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64 ALT_LANGTOOLS_DIST=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools/dist ALT_CORBA_DIST=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/corba/dist ALT_JAXP_DIST=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/jaxp/dist ALT_JAXWS_DIST=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/jaxws/dist ALT_HOTSPOT_IMPORT_PATH=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import BUILD_HOTSPOT=true ; )
> make[1]: Entering directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk/jdk/make'
> make[1]: Leaving directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk/jdk/make'
> 
> Build Machine Information:
>   build machine = WIN-R7HSHTAIIHC
> 
> Build Directory Structure:
>   CWD = /cygdrive/c/OpenJDK/jdk7-source/openjdk
>   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   = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/outputdir
>      HOTSPOT_EXPORT_PATH = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import
> 
> 
> 
> 
> Bootstrap Settings:
>  BOOTDIR = /cygdrive/c/OpenJDK/jdk-6u37
>    ALT_BOOTDIR = /cygdrive/c/OpenJDK/jdk-6u37
>  BOOT_VER = 1.6.0 [requires at least 1.6]
>  OUTPUTDIR = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64
>    ALT_OUTPUTDIR = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64
>  ABS_OUTPUTDIR = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64
> 
> Build Tool Settings:
>  SLASH_JAVA = J:
>    ALT_SLASH_JAVA =
>  VARIANT = OPT
>  JDK_DEVTOOLS_DIR = J:/devtools
>    ALT_JDK_DEVTOOLS_DIR =
>  ANT_HOME = /cygdrive/c/OpenJDK/apache-ant-1.8.4
>  UNIXCOMMAND_PATH = /usr/bin/
>    ALT_UNIXCOMMAND_PATH =
>  COMPILER_PATH = C:/PROGRA~2/MICROS~1.0/Common7/Tools/../../Vc/bin/amd64/
>    ALT_COMPILER_PATH =
>  DEVTOOLS_PATH = /usr/bin/
>    ALT_DEVTOOLS_PATH =
>  MSVCRNN_DLL_PATH = C:/Windows/system32
>    ALT_MSVCRNN_DLL_PATH =
>  INCLUDE = C:/msvs2012/VC/include;C:/MSSDKWIN7/Windows/v7.1/Include
>  LIB = C:/msvs2012/VC/lib/amd64;C:/MSSDKWIN7/Windows/v7.1/Lib/x64
>  COMPILER_NAME = Microsoft Visual Studio 10 (16.00.30319.01)
>  COMPILER_VERSION = VS2010
>  CC_VER = 16.00.30319.01 [requires at least 16.00.30319.01]
>  ZIP_VER = 3.0 [requires at least 2.2]
>  UNZIP_VER = 6.00 [requires at least 5.12]
>  LINK_VER = 10.00.30319.01 [requires at least 10.00.30319.01]
>  CC = C:/PROGRA~2/MICROS~1.0/Common7/Tools/../../Vc/bin/amd64/cl
>  LINK = C:/PROGRA~2/MICROS~1.0/Common7/Tools/../../Vc/bin/amd64/link
>  DUMPBIN = C:/PROGRA~2/MICROS~1.0/Common7/Tools/../../Vc/bin/amd64/dumpbin.exe
>  ANT_VER = 1.8.4 [requires at least 1.7.1]
>  TEMPDIR = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/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
>  SHOW_ALL_WARNINGS = false
>  INCREMENTAL_BUILD = false
>  CC_HIGHEST_OPT =
>  CC_HIGHER_OPT =
>  CC_LOWER_OPT =
>  CXXFLAGS =  -O1 -Zi -nologo -MD /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB -Zc:wchar_t- -FdC:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/tmp/obj64/.pdb -FmC:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/tmp/obj64/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
>  CFLAGS =  -O1   -Zi -nologo -MD /D _STATIC_CPPLIB /D _DISABLE_DEPRECATE_STATIC_CPPLIB -Zc:wchar_t- -FdC:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/tmp/obj64/.pdb -FmC:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/tmp/obj64/.map -wd4800 -W3 -D _CRT_SECURE_NO_DEPRECATE -D _CRT_NONSTDC_NO_DEPRECATE
>  BOOT_JAVA_CMD = /cygdrive/c/OpenJDK/jdk-6u37/bin/java -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m -XX:PermSize=32m -XX:MaxPermSize=160m
>  BOOT_JAVAC_CMD = /cygdrive/c/OpenJDK/jdk-6u37/bin/javac  -J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6 -XDignore.symbol.file=true
>  BOOT_JAR_CMD = /cygdrive/c/OpenJDK/jdk-6u37/bin/jar
>  BOOT_JARSIGNER_CMD = /cygdrive/c/OpenJDK/jdk-6u37/bin/jarsigner
> 
> Build Platform Settings:
>  USER = Administrator
>  PLATFORM = windows
>  ARCH = amd64
>  LIBARCH = amd64
>  ARCH_FAMILY = amd64
>  ARCH_DATA_MODEL = 64
>  ARCHPROP = amd64
>  PROCESSOR_ARCHITECTURE = x86
>  PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 26 Stepping 5, 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
>  MB_OF_MEMORY = 1023
> 
> GNU Make Settings:
>  MAKE = make
>  MAKE_VER = 3.82 [requires at least 3.81]
>  MAKECMDGOALS = sanity
>  MAKEFLAGS = w
>  SHELL = /bin/sh
> 
> Target Build Versions:
>  JDK_VERSION = 1.7.0
>  MILESTONE = internal
>  RELEASE = 1.7.0-internal
>  FULL_VERSION = 1.7.0-internal-administrator_2013_02_03_23_27-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 = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools/dist
>  CORBA_DIST =
>    ALT_CORBA_DIST = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/corba/dist
>  JAXP_DIST =
>    ALT_JAXP_DIST = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/jaxp/dist
>  JAXWS_DIST =
>    ALT_JAXWS_DIST = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/jaxws/dist
>  HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
>    ALT_HOTSPOT_DOCS_IMPORT_PATH =
>  HOTSPOT_IMPORT_PATH = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import
>    ALT_HOTSPOT_IMPORT_PATH = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import
>  HOTSPOT_SERVER_PATH = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import/jre/bin/server
>    ALT_HOTSPOT_SERVER_PATH =
>  HOTSPOT_LIB_PATH = C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/hotspot/import/lib
>    ALT_HOTSPOT_LIB_PATH =
>  DXSDK_VER = 0x0900
>  DXSDK_PATH = C:/PROGRA~2/MI4ADD~1
>    ALT_DXSDK_PATH =
>  DXSDK_INCLUDE_PATH = C:/PROGRA~2/MI4ADD~1/Include
>    ALT_DXSDK_INCLUDE_PATH =
>  DXSDK_LIB_PATH = C:/PROGRA~2/MI4ADD~1/Lib/x64
>    ALT_DXSDK_LIB_PATH =
>  WINDOWSSDKDIR = c:\MSSDKWIN7\Windows
>                                      7.1/
>    ALT_WINDOWSSDKDIR =
>  RC = c:\MSSDKWIN7\Windows
>                           7.1//Bin/x64/RC.Exe
>  REBASE = c:\MSSDKWIN7\Windows
>                               7.1//Bin/x64/ReBase.Exe
>  CACERTS_FILE = ./../src/share/lib/security/cacerts
>    ALT_CACERTS_FILE =
> 
> OpenJDK-specific settings:
>  FREETYPE_HEADERS_PATH = C:/OpenJDK/freetype-2.4.11/include
>    ALT_FREETYPE_HEADERS_PATH = C:/OpenJDK/freetype-2.4.11/include
>  FREETYPE_LIB_PATH = C:/OpenJDK/freetype-2.4.11
>    ALT_FREETYPE_LIB_PATH = C:/OpenJDK/freetype-2.4.11
> 
> 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 = /cygdrive/c/OpenJDK/jdk-6u37
>    ALT_PREVIOUS_RELEASE_IMAGE =
> 
> 
> Sanity check passed.
> make \
>        SKIP_FASTDEBUG_BUILD=true \
>        SKIP_DEBUG_BUILD=true \
>         \
>        generic_build_repo_series
> make[1]: Entering directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk'
> /usr/bin/mkdir -p ./build/windows-amd64/j2sdk-image
> /usr/bin/mkdir -p C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools
> 
> 
> ########################################################################
> ########################################################################
> ##### Entering langtools for target(s) all                         #####
> ########################################################################
> 
> (cd  ./langtools/make && \
>  make JDK_TOPDIR=C:/OpenJDK/JDK7-S~1/openjdk/jdk JDK_MAKE_SHARED_DIR=C:/OpenJDK/JDK7-S~1/openjdk/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.7.0-internal-administrator_2013_02_03_23_27-b00 PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0 ANT_HOME="/cygdrive/c/OpenJDK/apache-ant-1.8.4" ALT_OUTPUTDIR=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools ALT_BOOTDIR=/cygdrive/c/OpenJDK/jdk-6u37 all)
> make[2]: Entering directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk/langtools/make'
> JAVA_HOME=/cygdrive/c/OpenJDK/jdk-6u37 ANT_OPTS=-Djava.io.tmpdir='C:/OpenJDK/JDK7-S~1/openjdk/build/WINDOW~1/LANGTO~1/build/ant-tmp' /cygdrive/c/OpenJDK/apache-ant-1.8.4/bin/ant -Djdk.version=1.7.0 -Dfull.version='1.7.0-internal-administrator_2013_02_03_23_27-b00'  -Dmilestone=internal -Dbuild.number=b00 -Djavac.target=7 -Djavac.source=7 -Dboot.java.home=/cygdrive/c/OpenJDK/jdk-6u37 -Dimport.jdk=C:/OpenJDK/JDK7-S~1/openjdk/jdk -Dbuild.dir=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools/build -Ddist.dir=C:/OpenJDK/jdk7-source/openjdk/build/windows-amd64/langtools/dist build
> Buildfile: C:\OpenJDK\jdk7-source\openjdk\langtools\make\build.xml
> 
> -def-pcompile:
>    [javac] Compiling 2 source files to C:\OpenJDK\jdk7-source\openjdk\build\windows-amd64\langtools\build\toolclasses
> 
> BUILD FAILED
> C:\OpenJDK\jdk7-source\openjdk\langtools\make\build.xml:860: Error running \cygdrive\c\OpenJDK\jdk-6u37\bin\javac compiler
> 
> Total time: 0 seconds
> make[2]: *** [build] Error 1
> make[2]: Leaving directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk/langtools/make'
> make[1]: *** [langtools-build] Error 2
> make[1]: Leaving directory `/cygdrive/c/OpenJDK/jdk7-source/openjdk'
> make: *** [build_product_image] Error 2
> 
> Administrator at WIN-R7HSHTAIIHC /cygdrive/c/OpenJDK/jdk7-source/openjdk
> $
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 




More information about the build-dev mailing list