dan's build on windows succeeded too!
Dan Fabulich
dan at fabulich.com
Mon Aug 13 00:55:41 UTC 2007
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
More information about the build-dev
mailing list