Hi,

I'm currently trying to build openjdk11 from on my Windows 7 with VS2017
installed. I discovered the issue which cause "bash configure" to fail.

+ configure: The C compiler (located as
/cygdrive/c/progra~2/mib055~1/2017/commun~1/vc/tools/msvc/1414~1.264/bin/hostx86/x64/cl)
does not seem to be the required microsoft compiler.
+ configure: error: A microsoft compiler is required. Try setting
--with-tools-dir.
+ configure: The result from running it was: "▒▒?▒▒▒▒▒▒? ▒▒▒▒▒▒▒▒▒▒
Microsoft (R)
C/C++ ▒▒▒? 19.14.26433 ▒▒▒ x64"
+ configure exiting with result code 1

I think the problem is that configuration relies on en-US locale output. It
is actually valid, but cannot be parsed because my Windows installation
uses ru-RU locale by default. Latest cl.exe returns the following line:
+ Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.14.26433 для x64

I think that would be a problem for anyone who doesn't use en-US locale.
I managed to avoid this issue by replacing line 434 in
make/autoconf/toolchain.m4:
+ $ECHO "$COMPILER_VERSION_OUTPUT" | $GREP "Microsoft.*C/C++" > /dev/null

But still, COMPILER_VERSION_NUMBER is not parsed properly and configure
prints a warning:
+ WARNING: You are using microsoft older than 16.00.30319.01. This is not a
supported configuration.

After that compilation ran smoothly.

Reply via email to