On 2013-05-21 11:44, Erik Joelsson wrote:
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.
Note that the installer for this sdk can be found on /java/devtools if
you are on Oracles network.
/Erik
/Erik
David