On 2013-05-19 22:58, David Chase wrote:
This is for Windows 7, following instructions, mostly vanilla.
I restarted after all the various installations.
I'm "following" the instructions at 
http://hg.openjdk.java.net/jdk8/jdk8/raw-file/tip/README-builds.html

The non-vanilla step, inspired by the cautionary warnings about paths with 
spaces in them and cygwin, was to install Java and VS10 express in C:\PFx86, 
not C:\Program Files.


#1, after setting the path explicitly, it was ignored and "not found".

$ bash configure  --with-boot-jdk=$J 
--with-tools-dir="C:\\PFx86\\MVS10.0\\VC\\bin"

configure: Found Visual Studio installation at /cygdrive/c/PFx86/MVS10.0/ using 
VS100COMNTOOLS variable
configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably 
Visual Studio Express. Ignoring
configure: Found Visual Studio installation at /cygdrive/c/Program 
Files/Microsoft Visual Studio 10.0 using well-known name
configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably 
Visual Studio Express. Ignoring
configure: Cannot locate a valid Visual Studio installation, checking current 
environment
checking for Visual Studio variables... not found
configure: Cannot locate a valid Visual Studio or Windows SDK installation on 
disk,
configure: nor is this script run from a Visual Studio command prompt.
configure: Try setting --with-tools-dir to the VC/bin directory within the VS 
installation
configure: or run "bash.exe -l" from a VS command prompt and then run configure 
from there.
configure: error: Cannot continue
configure exiting with result code 1

My understanding of what happened is that it found, both from the tools dir and 
from the environment variable, an Express install, but because it was an 
Express install it kept looking, and was misled by something dribbled in 
Program Files by my non-standard-installation-location install, and did not 
then backtrack to the perfectly good Express install that I instructed it to 
use.

I told it exactly what to do, in exactly the way that I was instructed, and it ignored my 
good advice.  If the answer is "fails if not installed in the default location, even 
if you direct it to the non-default location" (i.e., ProgramSPACEFiles, despite our 
worrying language about the dangers of SPACEs in paths), then we should be sure to say so.

Configure looks for visual studio (and windows SDK) installs and tries to run the vcvars*.bat to get the environment necessary to build. In this case it couldn't find the bat file where it was expected to be. Probably because it looked for the 64bit version of the file when there was only a 32bit install of visual studio. If that's the case, we should add a better fail message since 64bit build is normally the default. As noted by Volker, this can be solved by installing the correct windows SDK which will provide the 64bit compiler.
#2, if you fire up a Visual Studio command prompt and say "bash.exe -l", it 
will not find it and will not run it.
If you naively attempt to reverse engineer the "which base" from your Cygwin window, 
you will be lead astray and go looking for C:\cygwin\usr\bin\bash.exe", which does not 
exist.
What does exist, what you should tell people to type, and what works, is: 
C:\cygwin\bin\bash.exe .
So the instructions should say that, instead.

However, once reverse-engineered, it did seem work (if this is working):

configure: Found Visual Studio installation at /cygdrive/c/PFx86/MVS10.0/ using 
VS100COMNTOOLS variable
configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably 
Visual Studio Express. Ignoring
configure: Found Visual Studio installation at /cygdrive/c/Program 
Files/Microsoft Visual Studio 10.0 using well-known name
configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably 
Visual Studio Express. Ignoring
configure: Cannot locate a valid Visual Studio installation, checking current 
environment
checking for Visual Studio variables... ok
checking for msvcr100.dll... configure: Warning: msvcr100.dll not found in 
VCINSTALLDIR: C:\PFx86\MVS10.0\VC\
configure: msvcr100.dll found in C:\windows/system32
C:\windows/system32/msvcr100.dll
configure: Rewriting MSVCR_DLL to "/cygdrive/c/windows/system32/msvcr100.dll"

This is a possible workaround. Where did you read the "bash.exe -l" instruction?
#3, the DirectX 9.0 link is not maybe dead, it is dead.
The search for "DirectX 9.0 SDK Update Summer 2004" is also dead; nothing is 
found.
Searches for "DirectX 9" yield downloads that are not SDKs, searches for "DirectX 9 SDK" 
and "DirectX 9.0 SDK" leads to SDKs that are not version 9.

Does it still work with somewhat newer (e.g., April 2006, version "DX")?
http://www.microsoft.com/en-us/download/details.aspx?id=24982
If it does, we should say so, because currently the instructions lead to dead 
ends.

Unfortunately Microsoft is no longer distributing this version of the directx SDK and unfortunately it's still the officially supported SDK by OpenJDK. It will still build with newer versions (Technically it will still build with the directx sdk bundled with VS2010, but configure won't let you do that anymore without being tricked), but there will be the potential for bugs. The choice of supported directx sdk dependencies should be discussed with the engineering team using it.

/Erik
David

Reply via email to