Congratulations!

Thanks for providing additional details. We will use it to improve build.
Do you remember particular details on build failure if user name has spaces (which scripts failed and what was error message)?

BTW, it seems that dependency on unicows.dll/lib will be gone in b18.
Also, setting ALT_JDK_IMPORT_PATH is only necessary for partial builds.
For full builds (i.e. make from control/make) it is not required.

-igor

Dan Fabulich wrote:

I'm pleased to announce that I've also gotten build 17 to succeed on Windows.

Notably, I used a copied-and-pasted version of Igor's buildenv.bat file, which I then tweaked with my own paths. Here's the tweaking I needed to do:

1) Path ordering confused localegen: Using Igor's env vars, I reproduced the '\r' problem in LocaleMetaDataInfo.java that Igor reported earlier. Unfortunately, at least in my case, changing the awk command line did not work around the problem.

Digging just a bit deeper, I found that localegen.sh was naively invoking "sort" right off the path, a version of which comes with Windows as c:\windows\system32\sort.exe. Since Igor's PATH called for using c:\windows\system32 prior to cygwin\bin, Windows' sort.exe was used, which inserted Windows-ish line endings. Changing the PATH to use cygwin\bin first fixed the problem.

It would be wise to add a sanity check to make sure that "sort" is not Windows' sort.exe.

2) User name contained spaces: I also found that the scripts like to insert the current user's name into various version strings; this doesn't work when one's user name has a space in it. (My default user name on Windows XP is "Dan Fabulich.") To remedy this, I set my USERNAME environment variable to just be "dan", and made a symlink from /home/dan to /home/Dan\ Fabulich.

It would be wise to add a sanity check to make sure that $USERNAME contains no spaces.

3) Unicows.lib: Igor linked to a place where you can download unicows, and his buildenv.bat indicated that unicows.dll and unicows.lib would be in the same location. http://www.microsoft.com/downloads/details.aspx?FamilyId=73BA7BD7-ED06-4F0D-80A4-2A7EEAEE17E2&displaylang=en

I found that when I downloaded unicows.exe and extracted it, I got unicows.dll and .pdb, but no .lib. As far as I know, unicows.lib is NOT available on the web, but is only available as part of Visual Studio.

In summary, here's the buildenv.bat that worked for me:

******************
title openjdk
set PATH=c:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
set LD_LIBRARY_PATH=
set CLASSPATH=
set JAVA_HOME=

set ALT_BOOTDIR=C:/devtools/jdk1.6.0_00
set ALT_OUTPUTDIR=c:/devtools/openjdk-build
set ALT_BINARY_PLUGS_PATH=C:/devtools/openjdk-binary-plugs-b17

rem not mentioned in the README-builds.html? (place hotspot VM comes from) rem TODO: try to point to openjdk vm
set ALT_JDK_IMPORT_PATH=C:/devtools/jdk1.6.0_00

set ALT_DXSDK_PATH=C:/PROGRA~1/MICROS~1.0SD

set VC=C:/PROGRA~1/MICROS~2.NET
set ALT_COMPILER_PATH=%VC%/VC7/Bin
set ALT_MSDEVTOOLS_PATH=%VC%/Common7/Tools/Bin
set ALT_MSVCR71_DLL_PATH=%VC%/SDK/v1.1/Bin

rem using Igor's build of Freetype
set ALT_FREETYPE_LIB_PATH=C:/devtools/freetype/freetype-i586/lib
set ALT_FREETYPE_HEADERS_PATH=C:/devtools/freetype/freetype-i586/include

rem NB: not documented? will be removed in b18?
rem http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6332635
rem unicows.dll is available on the web. rem E.g. http://tinyurl.com/qynq
set ALT_UNICOWS_LIB_PATH=%VC%/Vc7/PLATFO~1/Lib
set ALT_UNICOWS_DLL_PATH=c:/devtools/unicows

rem bug in the makefiles: should be set prior to freetypecheck. rem TODO: file it
set OPENJDK=true

set HOME=/home/dan
set USERNAME=dan

call %vc%\Common7\Tools\vsvars32.bat

bash
****************

Running this script and executing the build from within bash, I did "cd control/make" and ran "make sanity". It succeeded. Then I ran "make"; a while later, I got a working JDK.

-Dan

Reply via email to