dan's build on windows succeeded too!

Igor Nekrestyanov Igor.Nekrestyanov at Sun.COM
Mon Aug 13 06:40:26 UTC 2007


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




More information about the discuss mailing list