bash configure: result from running a microsoft compiler was empty string
yasuenag at gmail.com
Wed Apr 10 13:05:32 UTC 2019
I can build jdk/jdk on my WSL as following:
A new configuration has been successfully created in
using configure arguments '--enable-debug --disable-hotspot-gtest --with-boot-jdk=/mnt/c/jdk-12'.
* Debug level: fastdebug
* HS debug level: fastdebug
* JVM variants: server
* JVM features: server: 'aot cds cmsgc compiler1 compiler2 epsilongc g1gc graal jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs'
* OpenJDK target: OS: windows, CPU architecture: x86, address length: 64
* Version string: 13-internal+0-adhoc.yasuenag.jdk (13-internal)
* Environment: WSL version Ubuntu 18.04.2 LTS #379-Microsoft Wed Mar 06 19:16:00 PST 2019 4.4.0-17763-Microsoft (on Windows build 10.0.17763.379) (root at )
* Boot JDK: openjdk version "12" 2019-03-19 OpenJDK Runtime Environment (build 12+33) OpenJDK 64-Bit Server VM (build 12+33, mixed mode, sharing) (at /mnt/c/jdk-12)
* Toolchain: microsoft (Microsoft Visual Studio 2017)
* C Compiler: Version 19.16.27030.1 (at /mnt/c/PROGRA~2/MICROS~1/2017/COMMUN~1/VC/Tools/MSVC/1416~1.270/bin/Hostx64/x64/cl.exe)
* C++ Compiler: Version 19.16.27030.1 (at /mnt/c/PROGRA~2/MICROS~1/2017/COMMUN~1/VC/Tools/MSVC/1416~1.270/bin/Hostx64/x64/cl.exe)
I started bash from native tools command prompt.
On 2019/04/10 17: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? ]
> 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
>> On 10 Apr 2019, at 13:32, Andrew Luo <andrewluotechnologies at outlook.com> 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.
>> -----Original Message-----
>> From: build-dev <build-dev-bounces at openjdk.java.net> On Behalf Of David Holmes
>> Sent: Tuesday, April 9, 2019 10:25 PM
>> To: Vitaly Provodin <vitaly.provodin at jetbrains.com>; build-dev at openjdk.java.net
>> Subject: Re: bash configure: result from running a microsoft compiler was empty string
>> Hi Vitaly,
>> What do you see if you run:
>> On 10/04/2019 1:35 pm, Vitaly Provodin wrote:
>>> 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" \
>>> it fail, with the following message:
>>> . . .
>>> configure: Will use user supplied compiler
>>> 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
>>> I'm using windows 10 64 bits
>>> Could you please give me advice what I should do?
>>> Thank you,
More information about the build-dev