Windows toolchain parse problems

Erik Joelsson erik.joelsson at oracle.com
Thu Aug 23 14:51:48 UTC 2018


Hello Artur,

We would certainly like to not be dependent on locale settings at build 
time, but it's hard to squash out all the instances. This one seems 
especially server though as it completely prevents building. On non 
Windows platforms, you can always get around it with "LC_ALL=C make ..." 
but I don't know of any equivalent on Windows.

/Erik


On 2018-08-11 10:11, Artur Khusainov wrote:
> 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.




More information about the build-dev mailing list