Hello Vitaly,
When configure fails recognize the version of CL it usually means that
either CL didn't launch correctly or that a non English locale is used
so we don't recognize the output. In this case, since the recorded
output is empty, I'm guessing the former. The failing wslpath line could
be a lead. Perhaps we fail to put together a functioning PATH variable
when extracting the Visual Studio environment from vsvars*.bat.
Could you try again with this patch so we can see what the PATH is set to?
diff -r a84fefde0543 make/autoconf/toolchain.m4
--- a/make/autoconf/toolchain.m4
+++ b/make/autoconf/toolchain.m4
@@ -357,6 +357,7 @@
# for using basic Unix tools, so need to keep the original PATH.
BASIC_APPEND_TO_PATH(PATH, $VS_PATH)
BASIC_APPEND_TO_PATH(WSLENV, "PATH/l:LIB:INCLUDE")
+ $ECHO "PATH=$PATH"
export WSLENV
else
# Reset path to VS_PATH. It will include everything that was on
PATH at the time we
/Erik
On 2019-04-10 01:36, Vitaly Provodin wrote:
HI David, Andrew,
Thanks for the reply
I ran
/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
directly, it produced the following log:
$
/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27030.1 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption… ]
Andrew,
Thanks for providing me with the link to the actual doc. Now this command looks
like:
bash ./configure --with-boot-jdk=/mnt/c/Tools/Java/jdk-11.0.2
--with-toolchain-version=2017
But the result the same :^(
Please note I ran it in the clean environment that means I did not set any env
variables.
Suspicious lines in log:
checking for Boot JDK... /mnt/c/Tools/Java/jdk-11.0.2
checking Boot JDK version... java version "11.0.2" 2019-01-15 LTS Java(TM) SE
Runtime Environment 18.9 (build 11.0.2+9-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9
(build 11.0.2+9-LTS, mixed mode)
checking for java.exe in Boot JDK... ok
checking for javac.exe in Boot JDK... ok
checking for javadoc.exe in Boot JDK... ok
checking for jar.exe in Boot JDK... ok
checking for jarsigner.exe in Boot JDK... ok
checking if Boot JDK is 32 or 64 bits... 64
checking for local Boot JDK Class Data Sharing (CDS)... no, creation failed
Not sure whether it can be ignored that CDS creation failed
more log
configure: Rewriting path to "/mnt/c/Windows/System32/OpenSSH"
configure: Rewriting path to "/mnt/c/cygwin64/bin"
/bin/wslpath: C:\WINDOWS\system32\config\systemprofile\.dnx\bin: Permission
denied
configure: Rewriting path to "/mnt/c/PROGRA~1/MICROS~2/Dnvm"
and at the end
configure: Will use user supplied compiler
CC=/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
checking resolved symbolic links for CC... no symlink
configure: The C compiler (located as
/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe)
does not seem to be the required microsoft compiler.
configure: The result from running it was: ""
configure: error: A microsoft compiler is required. Try setting
--with-tools-dir.
configure exiting with result code 1
Thanks,
Vitaly
On 10 Apr 2019, at 13:32, Andrew Luo <[email protected]> wrote:
Hi Vitaly,
Those instructions are out of date, just my original proposed patch. What we
eventually ended up committing is much simpler.
See http://hg.openjdk.java.net/jdk/jdk/file/72f05350b4b3/doc/building.md for
the latest instructions.
Thanks,
-Andrew
-----Original Message-----
From: build-dev <[email protected]> On Behalf Of David Holmes
Sent: Tuesday, April 9, 2019 10:25 PM
To: Vitaly Provodin <[email protected]>; [email protected]
Subject: Re: bash configure: result from running a microsoft compiler was empty
string
Hi Vitaly,
What do you see if you run:
/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe
directly?
Cheers,
David
On 10/04/2019 1:35 pm, Vitaly Provodin wrote:
Hello,
I'm trying to compile OpenJDK 13 (using WSL and following this instructions
http://mail.openjdk.java.net/pipermail/build-dev/2018-December/024316.html
<http://mail.openjdk.java.net/pipermail/build-dev/2018-December/024316.html>),
but when I use:
$ bash ./configure --with-boot-jdk=/mnt/c/Tools/Java/jdk-11.0.2 \
--with-tools-dir="C:\Tools\VS\2017\Community\VC\Auxiliary" \
--with-ucrt-dll-dir="C:\Tools\WindowsKits\10\bin\10.0.17763.0\x64\ucrt”
it fail, with the following message:
. . .
configure: Will use user supplied compiler
CC=/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx6
4/x64/cl.exe checking resolved symbolic links for CC... no symlink
configure: The C compiler (located as
/mnt/c/Tools/VS/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe)
does not seem to be the required microsoft compiler.
configure: The result from running it was: ""
configure: error: A microsoft compiler is required. Try setting
--with-tools-dir.
configure exiting with result code 1
It looks like the cause of this failure is in the empty string
configure: The result from running it was: “"
Please note I tried the following
- to run vcvars64.bat then start WSL (ubuntu)
- just start WSL (ubuntu) wiothout vcvars64.bat anyway I got the above
message.
I'm using windows 10 64 bits
Could you please give me advice what I should do?
Thank you,
Vitaly