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