bash configure fails on missing VS tools dir

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

bash configure fails on missing VS tools dir

Nir Lisker
When trying to build JDK 11 on Windows 10 with VS Express 2013 Update 4 (as
stated in the docs - the highest supported version) the build fails:

bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft Visual
Studio 12.0\VC\bin'

...
configure: Found Visual Studio installation at /cygdrive/c/Program Files
(x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
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
(x86)/ using --with-tools-dir
configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably
Visual Studio Express. Ignoring
configure: The path given by --with-tools-dir does not contain a valid
configure: Visual Studio installation. Please point to the VC/bin or
VC/bin/amd64
configure: directory within the Visual Studio installation
configure: error: Cannot locate a valid Visual Studio installation
configure exiting with result code 1

/Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64 folder,
instead it has /x86_amd64. Also, vcvars64.bat is located directly under
/VC/bin.

Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/ which
resulted in the same error. This folder also has vcvars64.bat directly
under it. It also contains an /amd64 folder with a couple of dlls inside.

Since I'm specifying the path to the /VC/bin dir I don't understand why
it's still complaining. What am I doing wrong?

On a related note, is it possible to update the build requirements to work
with VS 2017? OpenJFX already uses this version.

- Nir
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
Hello Nir,

On 2018-01-03 13:05, Nir Lisker wrote:
> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update 4 (as
> stated in the docs - the highest supported version) the build fails:
AFAIK, this should work, though I have only ever used VS 2013 Professional.
> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft Visual
> Studio 12.0\VC\bin'
If VS is properly installed in the default location, there should be no
need to specify --with-tools-dir. Configure will look in the default
location automatically.

> ...
> configure: Found Visual Studio installation at /cygdrive/c/Program Files
> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
> 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
> (x86)/ using --with-tools-dir
> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably
> Visual Studio Express. Ignoring
> configure: The path given by --with-tools-dir does not contain a valid
> configure: Visual Studio installation. Please point to the VC/bin or
> VC/bin/amd64
> configure: directory within the Visual Studio installation
> configure: error: Cannot locate a valid Visual Studio installation
> configure exiting with result code 1
>
> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64 folder,
> instead it has /x86_amd64. Also, vcvars64.bat is located directly under
> /VC/bin.
This is strange. Looking at the configure source, we assume that the VS
installation should contain "vc/bin/amd64/vcvars64.bat". If that file
isn't found, configure doesn't recognize the VS installation.
Unfortunately I don't have an Express installation to look at, but my
old professional installation has that file. In VC/bin I only have
vcvars32.bat.

I'm pretty sure this layout was how the express edition used to look as
well. Otherwise Magnus wouldn't have written the build doc claiming it
would work.

This means the file layout for Visual Studio 2013 has changed, or that
it's different on Windows 10 (our builds are on older versions of
Windows still).

If you would like to try to fix this, the logic that needs updating is
in make/autoconf/toolchain_windows.m4, in the macro
TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/ which
> resulted in the same error. This folder also has vcvars64.bat directly
> under it. It also contains an /amd64 folder with a couple of dlls inside.
>
> Since I'm specifying the path to the /VC/bin dir I don't understand why
> it's still complaining. What am I doing wrong?
Because of how different the versions of Visual Studio are, configure
will not automatically assume or try a different version than the
default without being told to. If you want to try 2012, you need to tell
configure using --with-toolchain-version=2012. No need to specify tools
dir as long as it's installed in the default location.
> On a related note, is it possible to update the build requirements to work
> with VS 2017? OpenJFX already uses this version.
This will likely happen in JDK 11 time frame. Note though that changing
compilers is usually a pretty big effort so it will take a while.

/Erik
> - Nir

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
Thanks for the detailed reply.

Iv'e changed the logic in toolchain_windows.m4 and got this message:

Configure source code has been updated, checking time stamps
Warning: The configure source files is newer than the generated files.
Cannot locate autoconf, unable to correct situation.
Please install autoconf and run 'bash autogen.sh' to update the generated
files.
Error: Cannot continue

I downloaded autoconf 2.69. How do I point to it? There is no installation.

On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <[hidden email]>
wrote:

> Hello Nir,
>
> On 2018-01-03 13:05, Nir Lisker wrote:
>
>> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update 4
>> (as
>> stated in the docs - the highest supported version) the build fails:
>>
> AFAIK, this should work, though I have only ever used VS 2013 Professional.
>
>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft Visual
>> Studio 12.0\VC\bin'
>>
> If VS is properly installed in the default location, there should be no
> need to specify --with-tools-dir. Configure will look in the default
> location automatically.
>
>> ...
>> configure: Found Visual Studio installation at /cygdrive/c/Program Files
>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>> 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
>> (x86)/ using --with-tools-dir
>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is probably
>> Visual Studio Express. Ignoring
>> configure: The path given by --with-tools-dir does not contain a valid
>> configure: Visual Studio installation. Please point to the VC/bin or
>> VC/bin/amd64
>> configure: directory within the Visual Studio installation
>> configure: error: Cannot locate a valid Visual Studio installation
>> configure exiting with result code 1
>>
>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64 folder,
>> instead it has /x86_amd64. Also, vcvars64.bat is located directly under
>> /VC/bin.
>>
> This is strange. Looking at the configure source, we assume that the VS
> installation should contain "vc/bin/amd64/vcvars64.bat". If that file isn't
> found, configure doesn't recognize the VS installation. Unfortunately I
> don't have an Express installation to look at, but my old professional
> installation has that file. In VC/bin I only have vcvars32.bat.
>
> I'm pretty sure this layout was how the express edition used to look as
> well. Otherwise Magnus wouldn't have written the build doc claiming it
> would work.
>
> This means the file layout for Visual Studio 2013 has changed, or that
> it's different on Windows 10 (our builds are on older versions of Windows
> still).
>
> If you would like to try to fix this, the logic that needs updating is in
> make/autoconf/toolchain_windows.m4, in the macro
> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>
>> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/
>> which
>> resulted in the same error. This folder also has vcvars64.bat directly
>> under it. It also contains an /amd64 folder with a couple of dlls inside.
>>
>> Since I'm specifying the path to the /VC/bin dir I don't understand why
>> it's still complaining. What am I doing wrong?
>>
> Because of how different the versions of Visual Studio are, configure will
> not automatically assume or try a different version than the default
> without being told to. If you want to try 2012, you need to tell configure
> using --with-toolchain-version=2012. No need to specify tools dir as long
> as it's installed in the default location.
>
>> On a related note, is it possible to update the build requirements to work
>> with VS 2017? OpenJFX already uses this version.
>>
> This will likely happen in JDK 11 time frame. Note though that changing
> compilers is usually a pretty big effort so it will take a while.
>
> /Erik
>
>> - Nir
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
Hello Nir,

On 2018-01-03 15:34, Nir Lisker wrote:

> Thanks for the detailed reply.
>
> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>
> Configure source code has been updated, checking time stamps
> Warning: The configure source files is newer than the generated files.
> Cannot locate autoconf, unable to correct situation.
> Please install autoconf and run 'bash autogen.sh' to update the
> generated files.
> Error: Cannot continue
>
> I downloaded autoconf 2.69. How do I point to it? There is no
> installation.
>
If you downloaded the src distro, then you need to compile and install
it with something like

$ ./configure
$ make
$ make install

On Windows it's probably easier to just get it through cygwin. Note that
the cygwin installer probably still lists autoconf as an old version in
the name, but last I checked it was 2.69 that they actually provided. On
Linux, just use your favorite package installation tool (apt, yum etc).

As long as it's on the path, autogen.sh will pick it up. Configure will
also detect that you changed an .m4 file and run autogen.sh for you
automatically, which is what happened to you above.

/Erik

> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Hello Nir,
>
>     On 2018-01-03 13:05, Nir Lisker wrote:
>
>         When trying to build JDK 11 on Windows 10 with VS Express 2013
>         Update 4 (as
>         stated in the docs - the highest supported version) the build
>         fails:
>
>     AFAIK, this should work, though I have only ever used VS 2013
>     Professional.
>
>         bash configure  --with-tools-dir='C:\Program Files
>         (x86)\Microsoft Visual
>         Studio 12.0\VC\bin'
>
>     If VS is properly installed in the default location, there should
>     be no need to specify --with-tools-dir. Configure will look in the
>     default location automatically.
>
>         ...
>         configure: Found Visual Studio installation at
>         /cygdrive/c/Program Files
>         (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>         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
>         (x86)/ using --with-tools-dir
>         configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this
>         is probably
>         Visual Studio Express. Ignoring
>         configure: The path given by --with-tools-dir does not contain
>         a valid
>         configure: Visual Studio installation. Please point to the
>         VC/bin or
>         VC/bin/amd64
>         configure: directory within the Visual Studio installation
>         configure: error: Cannot locate a valid Visual Studio installation
>         configure exiting with result code 1
>
>         /Microsoft Visual Studio 12.0/VC/bin/ does not contain an
>         /amd64 folder,
>         instead it has /x86_amd64. Also, vcvars64.bat is located
>         directly under
>         /VC/bin.
>
>     This is strange. Looking at the configure source, we assume that
>     the VS installation should contain "vc/bin/amd64/vcvars64.bat". If
>     that file isn't found, configure doesn't recognize the VS
>     installation. Unfortunately I don't have an Express installation
>     to look at, but my old professional installation has that file. In
>     VC/bin I only have vcvars32.bat.
>
>     I'm pretty sure this layout was how the express edition used to
>     look as well. Otherwise Magnus wouldn't have written the build doc
>     claiming it would work.
>
>     This means the file layout for Visual Studio 2013 has changed, or
>     that it's different on Windows 10 (our builds are on older
>     versions of Windows still).
>
>     If you would like to try to fix this, the logic that needs
>     updating is in make/autoconf/toolchain_windows.m4, in the macro
>     TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>
>         Iv'e made another attempt using /Microsoft Visual Studio
>         11.0/VC/bin/ which
>         resulted in the same error. This folder also has vcvars64.bat
>         directly
>         under it. It also contains an /amd64 folder with a couple of
>         dlls inside.
>
>         Since I'm specifying the path to the /VC/bin dir I don't
>         understand why
>         it's still complaining. What am I doing wrong?
>
>     Because of how different the versions of Visual Studio are,
>     configure will not automatically assume or try a different version
>     than the default without being told to. If you want to try 2012,
>     you need to tell configure using --with-toolchain-version=2012. No
>     need to specify tools dir as long as it's installed in the default
>     location.
>
>         On a related note, is it possible to update the build
>         requirements to work
>         with VS 2017? OpenJFX already uses this version.
>
>     This will likely happen in JDK 11 time frame. Note though that
>     changing compilers is usually a pretty big effort so it will take
>     a while.
>
>     /Erik
>
>         - Nir
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
Hello Erik,

I installed autoconf 2.69-3 through cygwin (indeed it was listed as 2.5).
However, running "bash autogen.sh" still gives:

You need autoconf installed to be able to regenerate the configure script
Error: Cannot find autoconf

If I run "bash configure" I get

Configure source code has been updated, checking time stamps
Running generated-configure.sh

And that's it. I checked generated-configure.sh and it contains only
comments and no script.

In autogen.sh I tried adding a print to help with debugging:

AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
echo "AUTOCONF is ${AUTOCONF}"

which prints

AUTOCONF is

Apologies for the mess. How do I continue?

- Nir

On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <[hidden email]>
wrote:

> Hello Nir,
> On 2018-01-03 15:34, Nir Lisker wrote:
>
> Thanks for the detailed reply.
>
> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>
> Configure source code has been updated, checking time stamps
> Warning: The configure source files is newer than the generated files.
> Cannot locate autoconf, unable to correct situation.
> Please install autoconf and run 'bash autogen.sh' to update the generated
> files.
> Error: Cannot continue
>
> I downloaded autoconf 2.69. How do I point to it? There is no installation.
>
> If you downloaded the src distro, then you need to compile and install it
> with something like
>
> $ ./configure
> $ make
> $ make install
>
> On Windows it's probably easier to just get it through cygwin. Note that
> the cygwin installer probably still lists autoconf as an old version in the
> name, but last I checked it was 2.69 that they actually provided. On Linux,
> just use your favorite package installation tool (apt, yum etc).
>
> As long as it's on the path, autogen.sh will pick it up. Configure will
> also detect that you changed an .m4 file and run autogen.sh for you
> automatically, which is what happened to you above.
>
> /Erik
>
> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <[hidden email]>
> wrote:
>
>> Hello Nir,
>>
>> On 2018-01-03 13:05, Nir Lisker wrote:
>>
>>> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update 4
>>> (as
>>> stated in the docs - the highest supported version) the build fails:
>>>
>> AFAIK, this should work, though I have only ever used VS 2013
>> Professional.
>>
>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft Visual
>>> Studio 12.0\VC\bin'
>>>
>> If VS is properly installed in the default location, there should be no
>> need to specify --with-tools-dir. Configure will look in the default
>> location automatically.
>>
>>> ...
>>> configure: Found Visual Studio installation at /cygdrive/c/Program Files
>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>> 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
>>> (x86)/ using --with-tools-dir
>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>> probably
>>> Visual Studio Express. Ignoring
>>> configure: The path given by --with-tools-dir does not contain a valid
>>> configure: Visual Studio installation. Please point to the VC/bin or
>>> VC/bin/amd64
>>> configure: directory within the Visual Studio installation
>>> configure: error: Cannot locate a valid Visual Studio installation
>>> configure exiting with result code 1
>>>
>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64 folder,
>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly under
>>> /VC/bin.
>>>
>> This is strange. Looking at the configure source, we assume that the VS
>> installation should contain "vc/bin/amd64/vcvars64.bat". If that file isn't
>> found, configure doesn't recognize the VS installation. Unfortunately I
>> don't have an Express installation to look at, but my old professional
>> installation has that file. In VC/bin I only have vcvars32.bat.
>>
>> I'm pretty sure this layout was how the express edition used to look as
>> well. Otherwise Magnus wouldn't have written the build doc claiming it
>> would work.
>>
>> This means the file layout for Visual Studio 2013 has changed, or that
>> it's different on Windows 10 (our builds are on older versions of Windows
>> still).
>>
>> If you would like to try to fix this, the logic that needs updating is in
>> make/autoconf/toolchain_windows.m4, in the macro
>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>
>>> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/
>>> which
>>> resulted in the same error. This folder also has vcvars64.bat directly
>>> under it. It also contains an /amd64 folder with a couple of dlls inside.
>>>
>>> Since I'm specifying the path to the /VC/bin dir I don't understand why
>>> it's still complaining. What am I doing wrong?
>>>
>> Because of how different the versions of Visual Studio are, configure
>> will not automatically assume or try a different version than the default
>> without being told to. If you want to try 2012, you need to tell configure
>> using --with-toolchain-version=2012. No need to specify tools dir as long
>> as it's installed in the default location.
>>
>>> On a related note, is it possible to update the build requirements to
>>> work
>>> with VS 2017? OpenJFX already uses this version.
>>>
>> This will likely happen in JDK 11 time frame. Note though that changing
>> compilers is usually a pretty big effort so it will take a while.
>>
>> /Erik
>>
>>> - Nir
>>>
>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
Can you run "autoconf --version" on the command line?

/Erik


On 2018-01-03 16:33, Nir Lisker wrote:

> Hello Erik,
>
> I installed autoconf 2.69-3 through cygwin (indeed it was listed as
> 2.5). However, running "bash autogen.sh" still gives:
>
> You need autoconf installed to be able to regenerate the configure script
> Error: Cannot find autoconf
>
> If I run "bash configure" I get
>
> Configure source code has been updated, checking time stamps
> Running generated-configure.sh
>
> And that's it. I checked generated-configure.sh and it contains only
> comments and no script.
>
> In autogen.sh I tried adding a print to help with debugging:
>
> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
> echo "AUTOCONF is ${AUTOCONF}"
>
> which prints
>
> AUTOCONF is
>
> Apologies for the mess. How do I continue?
>
> - Nir
>
> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Hello Nir,
>
>     On 2018-01-03 15:34, Nir Lisker wrote:
>>     Thanks for the detailed reply.
>>
>>     Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>
>>     Configure source code has been updated, checking time stamps
>>     Warning: The configure source files is newer than the generated
>>     files.
>>     Cannot locate autoconf, unable to correct situation.
>>     Please install autoconf and run 'bash autogen.sh' to update the
>>     generated files.
>>     Error: Cannot continue
>>
>>     I downloaded autoconf 2.69. How do I point to it? There is no
>>     installation.
>>
>     If you downloaded the src distro, then you need to compile and
>     install it with something like
>
>     $ ./configure
>     $ make
>     $ make install
>
>     On Windows it's probably easier to just get it through cygwin.
>     Note that the cygwin installer probably still lists autoconf as an
>     old version in the name, but last I checked it was 2.69 that they
>     actually provided. On Linux, just use your favorite package
>     installation tool (apt, yum etc).
>
>     As long as it's on the path, autogen.sh will pick it up. Configure
>     will also detect that you changed an .m4 file and run autogen.sh
>     for you automatically, which is what happened to you above.
>
>     /Erik
>
>>     On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>         Hello Nir,
>>
>>         On 2018-01-03 13:05, Nir Lisker wrote:
>>
>>             When trying to build JDK 11 on Windows 10 with VS Express
>>             2013 Update 4 (as
>>             stated in the docs - the highest supported version) the
>>             build fails:
>>
>>         AFAIK, this should work, though I have only ever used VS 2013
>>         Professional.
>>
>>             bash configure  --with-tools-dir='C:\Program Files
>>             (x86)\Microsoft Visual
>>             Studio 12.0\VC\bin'
>>
>>         If VS is properly installed in the default location, there
>>         should be no need to specify --with-tools-dir. Configure will
>>         look in the default location automatically.
>>
>>             ...
>>             configure: Found Visual Studio installation at
>>             /cygdrive/c/Program Files
>>             (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>             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
>>             (x86)/ using --with-tools-dir
>>             configure: Warning: vc/bin/amd64/vcvars64.bat is missing,
>>             this is probably
>>             Visual Studio Express. Ignoring
>>             configure: The path given by --with-tools-dir does not
>>             contain a valid
>>             configure: Visual Studio installation. Please point to
>>             the VC/bin or
>>             VC/bin/amd64
>>             configure: directory within the Visual Studio installation
>>             configure: error: Cannot locate a valid Visual Studio
>>             installation
>>             configure exiting with result code 1
>>
>>             /Microsoft Visual Studio 12.0/VC/bin/ does not contain an
>>             /amd64 folder,
>>             instead it has /x86_amd64. Also, vcvars64.bat is located
>>             directly under
>>             /VC/bin.
>>
>>         This is strange. Looking at the configure source, we assume
>>         that the VS installation should contain
>>         "vc/bin/amd64/vcvars64.bat". If that file isn't found,
>>         configure doesn't recognize the VS installation.
>>         Unfortunately I don't have an Express installation to look
>>         at, but my old professional installation has that file. In
>>         VC/bin I only have vcvars32.bat.
>>
>>         I'm pretty sure this layout was how the express edition used
>>         to look as well. Otherwise Magnus wouldn't have written the
>>         build doc claiming it would work.
>>
>>         This means the file layout for Visual Studio 2013 has
>>         changed, or that it's different on Windows 10 (our builds are
>>         on older versions of Windows still).
>>
>>         If you would like to try to fix this, the logic that needs
>>         updating is in make/autoconf/toolchain_windows.m4, in the
>>         macro TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>
>>             Iv'e made another attempt using /Microsoft Visual Studio
>>             11.0/VC/bin/ which
>>             resulted in the same error. This folder also has
>>             vcvars64.bat directly
>>             under it. It also contains an /amd64 folder with a couple
>>             of dlls inside.
>>
>>             Since I'm specifying the path to the /VC/bin dir I don't
>>             understand why
>>             it's still complaining. What am I doing wrong?
>>
>>         Because of how different the versions of Visual Studio are,
>>         configure will not automatically assume or try a different
>>         version than the default without being told to. If you want
>>         to try 2012, you need to tell configure using
>>         --with-toolchain-version=2012. No need to specify tools dir
>>         as long as it's installed in the default location.
>>
>>             On a related note, is it possible to update the build
>>             requirements to work
>>             with VS 2017? OpenJFX already uses this version.
>>
>>         This will likely happen in JDK 11 time frame. Note though
>>         that changing compilers is usually a pretty big effort so it
>>         will take a while.
>>
>>         /Erik
>>
>>             - Nir
>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
I get "-bash: autoconf: command not found".

Here's an image of the autoconf packages in the cygwin installer in case I
didn't install the right one: https://i.imgur.com/V3GMg9Y.png

Do I need to add some directory to the PATH env variable? I'd imagine
cygwin would know where it installed it.

- Nir

On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson <[hidden email]>
wrote:

> Can you run "autoconf --version" on the command line?
>
> /Erik
>
> On 2018-01-03 16:33, Nir Lisker wrote:
>
> Hello Erik,
>
> I installed autoconf 2.69-3 through cygwin (indeed it was listed as 2.5).
> However, running "bash autogen.sh" still gives:
>
> You need autoconf installed to be able to regenerate the configure script
> Error: Cannot find autoconf
>
> If I run "bash configure" I get
>
> Configure source code has been updated, checking time stamps
> Running generated-configure.sh
>
> And that's it. I checked generated-configure.sh and it contains only
> comments and no script.
>
> In autogen.sh I tried adding a print to help with debugging:
>
> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
> echo "AUTOCONF is ${AUTOCONF}"
>
> which prints
>
> AUTOCONF is
>
> Apologies for the mess. How do I continue?
>
> - Nir
>
> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <[hidden email]>
> wrote:
>
>> Hello Nir,
>> On 2018-01-03 15:34, Nir Lisker wrote:
>>
>> Thanks for the detailed reply.
>>
>> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>
>> Configure source code has been updated, checking time stamps
>> Warning: The configure source files is newer than the generated files.
>> Cannot locate autoconf, unable to correct situation.
>> Please install autoconf and run 'bash autogen.sh' to update the generated
>> files.
>> Error: Cannot continue
>>
>> I downloaded autoconf 2.69. How do I point to it? There is no
>> installation.
>>
>> If you downloaded the src distro, then you need to compile and install it
>> with something like
>>
>> $ ./configure
>> $ make
>> $ make install
>>
>> On Windows it's probably easier to just get it through cygwin. Note that
>> the cygwin installer probably still lists autoconf as an old version in the
>> name, but last I checked it was 2.69 that they actually provided. On Linux,
>> just use your favorite package installation tool (apt, yum etc).
>>
>> As long as it's on the path, autogen.sh will pick it up. Configure will
>> also detect that you changed an .m4 file and run autogen.sh for you
>> automatically, which is what happened to you above.
>>
>> /Erik
>>
>> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <[hidden email]>
>> wrote:
>>
>>> Hello Nir,
>>>
>>> On 2018-01-03 13:05, Nir Lisker wrote:
>>>
>>>> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update 4
>>>> (as
>>>> stated in the docs - the highest supported version) the build fails:
>>>>
>>> AFAIK, this should work, though I have only ever used VS 2013
>>> Professional.
>>>
>>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft
>>>> Visual
>>>> Studio 12.0\VC\bin'
>>>>
>>> If VS is properly installed in the default location, there should be no
>>> need to specify --with-tools-dir. Configure will look in the default
>>> location automatically.
>>>
>>>> ...
>>>> configure: Found Visual Studio installation at /cygdrive/c/Program Files
>>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>>> 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
>>>> (x86)/ using --with-tools-dir
>>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>>> probably
>>>> Visual Studio Express. Ignoring
>>>> configure: The path given by --with-tools-dir does not contain a valid
>>>> configure: Visual Studio installation. Please point to the VC/bin or
>>>> VC/bin/amd64
>>>> configure: directory within the Visual Studio installation
>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>> configure exiting with result code 1
>>>>
>>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64 folder,
>>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly under
>>>> /VC/bin.
>>>>
>>> This is strange. Looking at the configure source, we assume that the VS
>>> installation should contain "vc/bin/amd64/vcvars64.bat". If that file isn't
>>> found, configure doesn't recognize the VS installation. Unfortunately I
>>> don't have an Express installation to look at, but my old professional
>>> installation has that file. In VC/bin I only have vcvars32.bat.
>>>
>>> I'm pretty sure this layout was how the express edition used to look as
>>> well. Otherwise Magnus wouldn't have written the build doc claiming it
>>> would work.
>>>
>>> This means the file layout for Visual Studio 2013 has changed, or that
>>> it's different on Windows 10 (our builds are on older versions of Windows
>>> still).
>>>
>>> If you would like to try to fix this, the logic that needs updating is
>>> in make/autoconf/toolchain_windows.m4, in the macro
>>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>
>>>> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/
>>>> which
>>>> resulted in the same error. This folder also has vcvars64.bat directly
>>>> under it. It also contains an /amd64 folder with a couple of dlls
>>>> inside.
>>>>
>>>> Since I'm specifying the path to the /VC/bin dir I don't understand why
>>>> it's still complaining. What am I doing wrong?
>>>>
>>> Because of how different the versions of Visual Studio are, configure
>>> will not automatically assume or try a different version than the default
>>> without being told to. If you want to try 2012, you need to tell configure
>>> using --with-toolchain-version=2012. No need to specify tools dir as long
>>> as it's installed in the default location.
>>>
>>>> On a related note, is it possible to update the build requirements to
>>>> work
>>>> with VS 2017? OpenJFX already uses this version.
>>>>
>>> This will likely happen in JDK 11 time frame. Note though that changing
>>> compilers is usually a pretty big effort so it will take a while.
>>>
>>> /Erik
>>>
>>>> - Nir
>>>>
>>>
>>>
>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
I think you also need the "Wrapper scripts for autoconf commands". Was a
long time since I did this.

/Erik


On 2018-01-04 11:40, Nir Lisker wrote:

> I get "-bash: autoconf: command not found".
>
> Here's an image of the autoconf packages in the cygwin installer in
> case I didn't install the right one: https://i.imgur.com/V3GMg9Y.png
>
> Do I need to add some directory to the PATH env variable? I'd imagine
> cygwin would know where it installed it.
>
> - Nir
>
> On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Can you run "autoconf --version" on the command line?
>
>     /Erik
>
>
>     On 2018-01-03 16:33, Nir Lisker wrote:
>>     Hello Erik,
>>
>>     I installed autoconf 2.69-3 through cygwin (indeed it was listed
>>     as 2.5). However, running "bash autogen.sh" still gives:
>>
>>     You need autoconf installed to be able to regenerate the
>>     configure script
>>     Error: Cannot find autoconf
>>
>>     If I run "bash configure" I get
>>
>>     Configure source code has been updated, checking time stamps
>>     Running generated-configure.sh
>>
>>     And that's it. I checked generated-configure.sh and it contains
>>     only comments and no script.
>>
>>     In autogen.sh I tried adding a print to help with debugging:
>>
>>     AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
>>     echo "AUTOCONF is ${AUTOCONF}"
>>
>>     which prints
>>
>>     AUTOCONF is
>>
>>     Apologies for the mess. How do I continue?
>>
>>     - Nir
>>
>>     On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>         Hello Nir,
>>
>>         On 2018-01-03 15:34, Nir Lisker wrote:
>>>         Thanks for the detailed reply.
>>>
>>>         Iv'e changed the logic in toolchain_windows.m4 and got this
>>>         message:
>>>
>>>         Configure source code has been updated, checking time stamps
>>>         Warning: The configure source files is newer than the
>>>         generated files.
>>>         Cannot locate autoconf, unable to correct situation.
>>>         Please install autoconf and run 'bash autogen.sh' to update
>>>         the generated files.
>>>         Error: Cannot continue
>>>
>>>         I downloaded autoconf 2.69. How do I point to it? There is
>>>         no installation.
>>>
>>         If you downloaded the src distro, then you need to compile
>>         and install it with something like
>>
>>         $ ./configure
>>         $ make
>>         $ make install
>>
>>         On Windows it's probably easier to just get it through
>>         cygwin. Note that the cygwin installer probably still lists
>>         autoconf as an old version in the name, but last I checked it
>>         was 2.69 that they actually provided. On Linux, just use your
>>         favorite package installation tool (apt, yum etc).
>>
>>         As long as it's on the path, autogen.sh will pick it up.
>>         Configure will also detect that you changed an .m4 file and
>>         run autogen.sh for you automatically, which is what happened
>>         to you above.
>>
>>         /Erik
>>
>>>         On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
>>>         <[hidden email] <mailto:[hidden email]>>
>>>         wrote:
>>>
>>>             Hello Nir,
>>>
>>>             On 2018-01-03 13:05, Nir Lisker wrote:
>>>
>>>                 When trying to build JDK 11 on Windows 10 with VS
>>>                 Express 2013 Update 4 (as
>>>                 stated in the docs - the highest supported version)
>>>                 the build fails:
>>>
>>>             AFAIK, this should work, though I have only ever used VS
>>>             2013 Professional.
>>>
>>>                 bash configure --with-tools-dir='C:\Program Files
>>>                 (x86)\Microsoft Visual
>>>                 Studio 12.0\VC\bin'
>>>
>>>             If VS is properly installed in the default location,
>>>             there should be no need to specify --with-tools-dir.
>>>             Configure will look in the default location automatically.
>>>
>>>                 ...
>>>                 configure: Found Visual Studio installation at
>>>                 /cygdrive/c/Program Files
>>>                 (x86)/Microsoft Visual Studio 12.0/ using
>>>                 --with-tools-dir
>>>                 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
>>>                 (x86)/ using --with-tools-dir
>>>                 configure: Warning: vc/bin/amd64/vcvars64.bat is
>>>                 missing, this is probably
>>>                 Visual Studio Express. Ignoring
>>>                 configure: The path given by --with-tools-dir does
>>>                 not contain a valid
>>>                 configure: Visual Studio installation. Please point
>>>                 to the VC/bin or
>>>                 VC/bin/amd64
>>>                 configure: directory within the Visual Studio
>>>                 installation
>>>                 configure: error: Cannot locate a valid Visual
>>>                 Studio installation
>>>                 configure exiting with result code 1
>>>
>>>                 /Microsoft Visual Studio 12.0/VC/bin/ does not
>>>                 contain an /amd64 folder,
>>>                 instead it has /x86_amd64. Also, vcvars64.bat is
>>>                 located directly under
>>>                 /VC/bin.
>>>
>>>             This is strange. Looking at the configure source, we
>>>             assume that the VS installation should contain
>>>             "vc/bin/amd64/vcvars64.bat". If that file isn't found,
>>>             configure doesn't recognize the VS installation.
>>>             Unfortunately I don't have an Express installation to
>>>             look at, but my old professional installation has that
>>>             file. In VC/bin I only have vcvars32.bat.
>>>
>>>             I'm pretty sure this layout was how the express edition
>>>             used to look as well. Otherwise Magnus wouldn't have
>>>             written the build doc claiming it would work.
>>>
>>>             This means the file layout for Visual Studio 2013 has
>>>             changed, or that it's different on Windows 10 (our
>>>             builds are on older versions of Windows still).
>>>
>>>             If you would like to try to fix this, the logic that
>>>             needs updating is in make/autoconf/toolchain_windows.m4,
>>>             in the macro TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>
>>>                 Iv'e made another attempt using /Microsoft Visual
>>>                 Studio 11.0/VC/bin/ which
>>>                 resulted in the same error. This folder also has
>>>                 vcvars64.bat directly
>>>                 under it. It also contains an /amd64 folder with a
>>>                 couple of dlls inside.
>>>
>>>                 Since I'm specifying the path to the /VC/bin dir I
>>>                 don't understand why
>>>                 it's still complaining. What am I doing wrong?
>>>
>>>             Because of how different the versions of Visual Studio
>>>             are, configure will not automatically assume or try a
>>>             different version than the default without being told
>>>             to. If you want to try 2012, you need to tell configure
>>>             using --with-toolchain-version=2012. No need to specify
>>>             tools dir as long as it's installed in the default location.
>>>
>>>                 On a related note, is it possible to update the
>>>                 build requirements to work
>>>                 with VS 2017? OpenJFX already uses this version.
>>>
>>>             This will likely happen in JDK 11 time frame. Note
>>>             though that changing compilers is usually a pretty big
>>>             effort so it will take a while.
>>>
>>>             /Erik
>>>
>>>                 - Nir
>>>
>>>
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
Yes, that did it, autegen.sh completed successfully. Thanks.

Now the next problem with "bash configure":
configure: error: Target CPU mismatch. We are building for x86_64 but CL is
for "x86"; expected "x64".

If that's the cl.exe which is in the same folder as vcvars, I noticed that
in toolchain_windows.m4 that the script can try to find vcvars64.bat:

   if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
      VCVARSFILE="vc/bin/vcvars32.bat"
   else
      VCVARSFILE="vc/bin/amd64/vcvars64.bat"
   fi

But this file doesn't exist in the VS 12.0 or 11.0 installations. The
change I made to the above in order to solve the "missing" VC/bin dir was
to force using "vc/bin/vcvars32.bat" (because /amd64 doesn't exist), which
I guess was not smart and caused the above error.
Here is the list of all vcvars in the VS installations:
https://i.imgur.com/QtlePFq.png

Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in VS 2013 is
fine?

By the way, would building JDK 10 be any different in terms of
compatibility? I already built OpenJFX 11 and I only need the JDK for that
purpose. If JDK 10 can work here and is easier to build I'm fine with that.



On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson <[hidden email]>
wrote:

> I think you also need the "Wrapper scripts for autoconf commands". Was a
> long time since I did this.
>
> /Erik
>
> On 2018-01-04 11:40, Nir Lisker wrote:
>
> I get "-bash: autoconf: command not found".
>
> Here's an image of the autoconf packages in the cygwin installer in case I
> didn't install the right one: https://i.imgur.com/V3GMg9Y.png
>
> Do I need to add some directory to the PATH env variable? I'd imagine
> cygwin would know where it installed it.
>
> - Nir
>
> On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson <[hidden email]>
> wrote:
>
>> Can you run "autoconf --version" on the command line?
>>
>> /Erik
>>
>> On 2018-01-03 16:33, Nir Lisker wrote:
>>
>> Hello Erik,
>>
>> I installed autoconf 2.69-3 through cygwin (indeed it was listed as 2.5).
>> However, running "bash autogen.sh" still gives:
>>
>> You need autoconf installed to be able to regenerate the configure script
>> Error: Cannot find autoconf
>>
>> If I run "bash configure" I get
>>
>> Configure source code has been updated, checking time stamps
>> Running generated-configure.sh
>>
>> And that's it. I checked generated-configure.sh and it contains only
>> comments and no script.
>>
>> In autogen.sh I tried adding a print to help with debugging:
>>
>> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
>> echo "AUTOCONF is ${AUTOCONF}"
>>
>> which prints
>>
>> AUTOCONF is
>>
>> Apologies for the mess. How do I continue?
>>
>> - Nir
>>
>> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <[hidden email]>
>> wrote:
>>
>>> Hello Nir,
>>> On 2018-01-03 15:34, Nir Lisker wrote:
>>>
>>> Thanks for the detailed reply.
>>>
>>> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>>
>>> Configure source code has been updated, checking time stamps
>>> Warning: The configure source files is newer than the generated files.
>>> Cannot locate autoconf, unable to correct situation.
>>> Please install autoconf and run 'bash autogen.sh' to update the
>>> generated files.
>>> Error: Cannot continue
>>>
>>> I downloaded autoconf 2.69. How do I point to it? There is no
>>> installation.
>>>
>>> If you downloaded the src distro, then you need to compile and install
>>> it with something like
>>>
>>> $ ./configure
>>> $ make
>>> $ make install
>>>
>>> On Windows it's probably easier to just get it through cygwin. Note that
>>> the cygwin installer probably still lists autoconf as an old version in the
>>> name, but last I checked it was 2.69 that they actually provided. On Linux,
>>> just use your favorite package installation tool (apt, yum etc).
>>>
>>> As long as it's on the path, autogen.sh will pick it up. Configure will
>>> also detect that you changed an .m4 file and run autogen.sh for you
>>> automatically, which is what happened to you above.
>>>
>>> /Erik
>>>
>>> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <[hidden email]>
>>> wrote:
>>>
>>>> Hello Nir,
>>>>
>>>> On 2018-01-03 13:05, Nir Lisker wrote:
>>>>
>>>>> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update
>>>>> 4 (as
>>>>> stated in the docs - the highest supported version) the build fails:
>>>>>
>>>> AFAIK, this should work, though I have only ever used VS 2013
>>>> Professional.
>>>>
>>>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft
>>>>> Visual
>>>>> Studio 12.0\VC\bin'
>>>>>
>>>> If VS is properly installed in the default location, there should be no
>>>> need to specify --with-tools-dir. Configure will look in the default
>>>> location automatically.
>>>>
>>>>> ...
>>>>> configure: Found Visual Studio installation at /cygdrive/c/Program
>>>>> Files
>>>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>>>> 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
>>>>> (x86)/ using --with-tools-dir
>>>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>>>> probably
>>>>> Visual Studio Express. Ignoring
>>>>> configure: The path given by --with-tools-dir does not contain a valid
>>>>> configure: Visual Studio installation. Please point to the VC/bin or
>>>>> VC/bin/amd64
>>>>> configure: directory within the Visual Studio installation
>>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>>> configure exiting with result code 1
>>>>>
>>>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64
>>>>> folder,
>>>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly under
>>>>> /VC/bin.
>>>>>
>>>> This is strange. Looking at the configure source, we assume that the VS
>>>> installation should contain "vc/bin/amd64/vcvars64.bat". If that file isn't
>>>> found, configure doesn't recognize the VS installation. Unfortunately I
>>>> don't have an Express installation to look at, but my old professional
>>>> installation has that file. In VC/bin I only have vcvars32.bat.
>>>>
>>>> I'm pretty sure this layout was how the express edition used to look as
>>>> well. Otherwise Magnus wouldn't have written the build doc claiming it
>>>> would work.
>>>>
>>>> This means the file layout for Visual Studio 2013 has changed, or that
>>>> it's different on Windows 10 (our builds are on older versions of Windows
>>>> still).
>>>>
>>>> If you would like to try to fix this, the logic that needs updating is
>>>> in make/autoconf/toolchain_windows.m4, in the macro
>>>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>
>>>>> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/
>>>>> which
>>>>> resulted in the same error. This folder also has vcvars64.bat directly
>>>>> under it. It also contains an /amd64 folder with a couple of dlls
>>>>> inside.
>>>>>
>>>>> Since I'm specifying the path to the /VC/bin dir I don't understand why
>>>>> it's still complaining. What am I doing wrong?
>>>>>
>>>> Because of how different the versions of Visual Studio are, configure
>>>> will not automatically assume or try a different version than the default
>>>> without being told to. If you want to try 2012, you need to tell configure
>>>> using --with-toolchain-version=2012. No need to specify tools dir as long
>>>> as it's installed in the default location.
>>>>
>>>>> On a related note, is it possible to update the build requirements to
>>>>> work
>>>>> with VS 2017? OpenJFX already uses this version.
>>>>>
>>>> This will likely happen in JDK 11 time frame. Note though that changing
>>>> compilers is usually a pretty big effort so it will take a while.
>>>>
>>>> /Erik
>>>>
>>>>> - Nir
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson

On 2018-01-04 12:45, Nir Lisker wrote:

> Yes, that did it, autegen.sh completed successfully. Thanks.
>
> Now the next problem with "bash configure":
> configure: error: Target CPU mismatch. We are building for x86_64 but
> CL is for "x86"; expected "x64".
>
> If that's the cl.exe which is in the same folder as vcvars, I noticed
> that in toolchain_windows.m4 that the script can try to find vcvars64.bat:
>
>    if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>       VCVARSFILE="vc/bin/vcvars32.bat"
>    else
>       VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>    fi
>
> But this file doesn't exist in the VS 12.0 or 11.0 installations. The
> change I made to the above in order to solve the "missing" VC/bin dir
> was to force using "vc/bin/vcvars32.bat" (because /amd64 doesn't
> exist), which I guess was not smart and caused the above error.
> Here is the list of all vcvars in the VS installations:
> https://i.imgur.com/QtlePFq.png
>
> Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in VS
> 2013 is fine?
>
> By the way, would building JDK 10 be any different in terms of
> compatibility? I already built OpenJFX 11 and I only need the JDK for
> that purpose. If JDK 10 can work here and is easier to build I'm fine
> with that.
>
>
It seems the Visual Studio Express edition did not include the native
64bit compiler:
https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx

When we updated to VS 2013 in JDK 9, we used the professional edition
internally, which comes with the 64bit native compiler. For OpenJDK, we
were still able to build 32bit with the express edition so we were fine
with that. In JDK 10 and 11 32bit is not as well supported.

The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross compilation
toolchain. I would try that and see what happens. In theory it should
work, but there may be a few more details to fix to get it all the way.

/Erik

>
> On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     I think you also need the "Wrapper scripts for autoconf commands".
>     Was a long time since I did this.
>
>     /Erik
>
>
>     On 2018-01-04 11:40, Nir Lisker wrote:
>>     I get "-bash: autoconf: command not found".
>>
>>     Here's an image of the autoconf packages in the cygwin installer
>>     in case I didn't install the right one:
>>     https://i.imgur.com/V3GMg9Y.png <https://i.imgur.com/V3GMg9Y.png>
>>
>>     Do I need to add some directory to the PATH env variable? I'd
>>     imagine cygwin would know where it installed it.
>>
>>     - Nir
>>
>>     On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>         Can you run "autoconf --version" on the command line?
>>
>>         /Erik
>>
>>
>>         On 2018-01-03 16:33, Nir Lisker wrote:
>>>         Hello Erik,
>>>
>>>         I installed autoconf 2.69-3 through cygwin (indeed it was
>>>         listed as 2.5). However, running "bash autogen.sh" still gives:
>>>
>>>         You need autoconf installed to be able to regenerate the
>>>         configure script
>>>         Error: Cannot find autoconf
>>>
>>>         If I run "bash configure" I get
>>>
>>>         Configure source code has been updated, checking time stamps
>>>         Running generated-configure.sh
>>>
>>>         And that's it. I checked generated-configure.sh and it
>>>         contains only comments and no script.
>>>
>>>         In autogen.sh I tried adding a print to help with debugging:
>>>
>>>         AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no
>>>         autoconf in'`"
>>>         echo "AUTOCONF is ${AUTOCONF}"
>>>
>>>         which prints
>>>
>>>         AUTOCONF is
>>>
>>>         Apologies for the mess. How do I continue?
>>>
>>>         - Nir
>>>
>>>         On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson
>>>         <[hidden email] <mailto:[hidden email]>>
>>>         wrote:
>>>
>>>             Hello Nir,
>>>
>>>             On 2018-01-03 15:34, Nir Lisker wrote:
>>>>             Thanks for the detailed reply.
>>>>
>>>>             Iv'e changed the logic in toolchain_windows.m4 and got
>>>>             this message:
>>>>
>>>>             Configure source code has been updated, checking time
>>>>             stamps
>>>>             Warning: The configure source files is newer than the
>>>>             generated files.
>>>>             Cannot locate autoconf, unable to correct situation.
>>>>             Please install autoconf and run 'bash autogen.sh' to
>>>>             update the generated files.
>>>>             Error: Cannot continue
>>>>
>>>>             I downloaded autoconf 2.69. How do I point to it? There
>>>>             is no installation.
>>>>
>>>             If you downloaded the src distro, then you need to
>>>             compile and install it with something like
>>>
>>>             $ ./configure
>>>             $ make
>>>             $ make install
>>>
>>>             On Windows it's probably easier to just get it through
>>>             cygwin. Note that the cygwin installer probably still
>>>             lists autoconf as an old version in the name, but last I
>>>             checked it was 2.69 that they actually provided. On
>>>             Linux, just use your favorite package installation tool
>>>             (apt, yum etc).
>>>
>>>             As long as it's on the path, autogen.sh will pick it up.
>>>             Configure will also detect that you changed an .m4 file
>>>             and run autogen.sh for you automatically, which is what
>>>             happened to you above.
>>>
>>>             /Erik
>>>
>>>>             On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
>>>>             <[hidden email]
>>>>             <mailto:[hidden email]>> wrote:
>>>>
>>>>                 Hello Nir,
>>>>
>>>>                 On 2018-01-03 13:05, Nir Lisker wrote:
>>>>
>>>>                     When trying to build JDK 11 on Windows 10 with
>>>>                     VS Express 2013 Update 4 (as
>>>>                     stated in the docs - the highest supported
>>>>                     version) the build fails:
>>>>
>>>>                 AFAIK, this should work, though I have only ever
>>>>                 used VS 2013 Professional.
>>>>
>>>>                     bash configure --with-tools-dir='C:\Program
>>>>                     Files (x86)\Microsoft Visual
>>>>                     Studio 12.0\VC\bin'
>>>>
>>>>                 If VS is properly installed in the default
>>>>                 location, there should be no need to specify
>>>>                 --with-tools-dir. Configure will look in the
>>>>                 default location automatically.
>>>>
>>>>                     ...
>>>>                     configure: Found Visual Studio installation at
>>>>                     /cygdrive/c/Program Files
>>>>                     (x86)/Microsoft Visual Studio 12.0/ using
>>>>                     --with-tools-dir
>>>>                     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
>>>>                     (x86)/ using --with-tools-dir
>>>>                     configure: Warning: vc/bin/amd64/vcvars64.bat
>>>>                     is missing, this is probably
>>>>                     Visual Studio Express. Ignoring
>>>>                     configure: The path given by --with-tools-dir
>>>>                     does not contain a valid
>>>>                     configure: Visual Studio installation. Please
>>>>                     point to the VC/bin or
>>>>                     VC/bin/amd64
>>>>                     configure: directory within the Visual Studio
>>>>                     installation
>>>>                     configure: error: Cannot locate a valid Visual
>>>>                     Studio installation
>>>>                     configure exiting with result code 1
>>>>
>>>>                     /Microsoft Visual Studio 12.0/VC/bin/ does not
>>>>                     contain an /amd64 folder,
>>>>                     instead it has /x86_amd64. Also, vcvars64.bat
>>>>                     is located directly under
>>>>                     /VC/bin.
>>>>
>>>>                 This is strange. Looking at the configure source,
>>>>                 we assume that the VS installation should contain
>>>>                 "vc/bin/amd64/vcvars64.bat". If that file isn't
>>>>                 found, configure doesn't recognize the VS
>>>>                 installation. Unfortunately I don't have an Express
>>>>                 installation to look at, but my old professional
>>>>                 installation has that file. In VC/bin I only have
>>>>                 vcvars32.bat.
>>>>
>>>>                 I'm pretty sure this layout was how the express
>>>>                 edition used to look as well. Otherwise Magnus
>>>>                 wouldn't have written the build doc claiming it
>>>>                 would work.
>>>>
>>>>                 This means the file layout for Visual Studio 2013
>>>>                 has changed, or that it's different on Windows 10
>>>>                 (our builds are on older versions of Windows still).
>>>>
>>>>                 If you would like to try to fix this, the logic
>>>>                 that needs updating is in
>>>>                 make/autoconf/toolchain_windows.m4, in the macro
>>>>                 TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>
>>>>                     Iv'e made another attempt using /Microsoft
>>>>                     Visual Studio 11.0/VC/bin/ which
>>>>                     resulted in the same error. This folder also
>>>>                     has vcvars64.bat directly
>>>>                     under it. It also contains an /amd64 folder
>>>>                     with a couple of dlls inside.
>>>>
>>>>                     Since I'm specifying the path to the /VC/bin
>>>>                     dir I don't understand why
>>>>                     it's still complaining. What am I doing wrong?
>>>>
>>>>                 Because of how different the versions of Visual
>>>>                 Studio are, configure will not automatically assume
>>>>                 or try a different version than the default without
>>>>                 being told to. If you want to try 2012, you need to
>>>>                 tell configure using --with-toolchain-version=2012.
>>>>                 No need to specify tools dir as long as it's
>>>>                 installed in the default location.
>>>>
>>>>                     On a related note, is it possible to update the
>>>>                     build requirements to work
>>>>                     with VS 2017? OpenJFX already uses this version.
>>>>
>>>>                 This will likely happen in JDK 11 time frame. Note
>>>>                 though that changing compilers is usually a pretty
>>>>                 big effort so it will take a while.
>>>>
>>>>                 /Erik
>>>>
>>>>                     - Nir
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
It seems to have accepted vcvarsx86_amd64.bat quietly. Configure succeeded:

Tools summary:
* Environment:    cygwin version 2.9.0(0.318/5/3) (root at
/cygdrive/c/cygwin64)
* Boot JDK:       java version "9"  Java(TM) SE Runtime Environment (build
9+181)  Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)   (at
/cygdrive/c/progra~1/java/jdk-9)
* Toolchain:      microsoft (Microsoft Visual Studio 2013)
* C Compiler:     Version 18.00.31101 (at
/cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
* C++ Compiler:   Version 18.00.31101 (at
/cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)

Hopefully all this would be helpful to someone in the future.

On with the rest of the steps...

Thanks,
Nir

On Thu, Jan 4, 2018 at 2:36 PM, Erik Joelsson <[hidden email]>
wrote:

>
> On 2018-01-04 12:45, Nir Lisker wrote:
>
> Yes, that did it, autegen.sh completed successfully. Thanks.
>
> Now the next problem with "bash configure":
> configure: error: Target CPU mismatch. We are building for x86_64 but CL
> is for "x86"; expected "x64".
>
> If that's the cl.exe which is in the same folder as vcvars, I noticed that
> in toolchain_windows.m4 that the script can try to find vcvars64.bat:
>
>    if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>       VCVARSFILE="vc/bin/vcvars32.bat"
>    else
>       VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>    fi
>
> But this file doesn't exist in the VS 12.0 or 11.0 installations. The
> change I made to the above in order to solve the "missing" VC/bin dir was
> to force using "vc/bin/vcvars32.bat" (because /amd64 doesn't exist), which
> I guess was not smart and caused the above error.
> Here is the list of all vcvars in the VS installations:
> https://i.imgur.com/QtlePFq.png
>
> Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in VS 2013
> is fine?
>
> By the way, would building JDK 10 be any different in terms of
> compatibility? I already built OpenJFX 11 and I only need the JDK for that
> purpose. If JDK 10 can work here and is easier to build I'm fine with that.
>
>
> It seems the Visual Studio Express edition did not include the native
> 64bit compiler:
> https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx
>
> When we updated to VS 2013 in JDK 9, we used the professional edition
> internally, which comes with the 64bit native compiler. For OpenJDK, we
> were still able to build 32bit with the express edition so we were fine
> with that. In JDK 10 and 11 32bit is not as well supported.
>
> The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross compilation
> toolchain. I would try that and see what happens. In theory it should work,
> but there may be a few more details to fix to get it all the way.
>
> /Erik
>
>
> On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson <[hidden email]>
> wrote:
>
>> I think you also need the "Wrapper scripts for autoconf commands". Was a
>> long time since I did this.
>>
>> /Erik
>>
>> On 2018-01-04 11:40, Nir Lisker wrote:
>>
>> I get "-bash: autoconf: command not found".
>>
>> Here's an image of the autoconf packages in the cygwin installer in case
>> I didn't install the right one: https://i.imgur.com/V3GMg9Y.png
>>
>> Do I need to add some directory to the PATH env variable? I'd imagine
>> cygwin would know where it installed it.
>>
>> - Nir
>>
>> On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson <[hidden email]>
>> wrote:
>>
>>> Can you run "autoconf --version" on the command line?
>>>
>>> /Erik
>>>
>>> On 2018-01-03 16:33, Nir Lisker wrote:
>>>
>>> Hello Erik,
>>>
>>> I installed autoconf 2.69-3 through cygwin (indeed it was listed as
>>> 2.5). However, running "bash autogen.sh" still gives:
>>>
>>> You need autoconf installed to be able to regenerate the configure script
>>> Error: Cannot find autoconf
>>>
>>> If I run "bash configure" I get
>>>
>>> Configure source code has been updated, checking time stamps
>>> Running generated-configure.sh
>>>
>>> And that's it. I checked generated-configure.sh and it contains only
>>> comments and no script.
>>>
>>> In autogen.sh I tried adding a print to help with debugging:
>>>
>>> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
>>> echo "AUTOCONF is ${AUTOCONF}"
>>>
>>> which prints
>>>
>>> AUTOCONF is
>>>
>>> Apologies for the mess. How do I continue?
>>>
>>> - Nir
>>>
>>> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <[hidden email]>
>>> wrote:
>>>
>>>> Hello Nir,
>>>> On 2018-01-03 15:34, Nir Lisker wrote:
>>>>
>>>> Thanks for the detailed reply.
>>>>
>>>> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>>>
>>>> Configure source code has been updated, checking time stamps
>>>> Warning: The configure source files is newer than the generated files.
>>>> Cannot locate autoconf, unable to correct situation.
>>>> Please install autoconf and run 'bash autogen.sh' to update the
>>>> generated files.
>>>> Error: Cannot continue
>>>>
>>>> I downloaded autoconf 2.69. How do I point to it? There is no
>>>> installation.
>>>>
>>>> If you downloaded the src distro, then you need to compile and install
>>>> it with something like
>>>>
>>>> $ ./configure
>>>> $ make
>>>> $ make install
>>>>
>>>> On Windows it's probably easier to just get it through cygwin. Note
>>>> that the cygwin installer probably still lists autoconf as an old version
>>>> in the name, but last I checked it was 2.69 that they actually provided. On
>>>> Linux, just use your favorite package installation tool (apt, yum etc).
>>>>
>>>> As long as it's on the path, autogen.sh will pick it up. Configure will
>>>> also detect that you changed an .m4 file and run autogen.sh for you
>>>> automatically, which is what happened to you above.
>>>>
>>>> /Erik
>>>>
>>>> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <[hidden email]
>>>> > wrote:
>>>>
>>>>> Hello Nir,
>>>>>
>>>>> On 2018-01-03 13:05, Nir Lisker wrote:
>>>>>
>>>>>> When trying to build JDK 11 on Windows 10 with VS Express 2013 Update
>>>>>> 4 (as
>>>>>> stated in the docs - the highest supported version) the build fails:
>>>>>>
>>>>> AFAIK, this should work, though I have only ever used VS 2013
>>>>> Professional.
>>>>>
>>>>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft
>>>>>> Visual
>>>>>> Studio 12.0\VC\bin'
>>>>>>
>>>>> If VS is properly installed in the default location, there should be
>>>>> no need to specify --with-tools-dir. Configure will look in the default
>>>>> location automatically.
>>>>>
>>>>>> ...
>>>>>> configure: Found Visual Studio installation at /cygdrive/c/Program
>>>>>> Files
>>>>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>>>>> 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
>>>>>> (x86)/ using --with-tools-dir
>>>>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>>>>> probably
>>>>>> Visual Studio Express. Ignoring
>>>>>> configure: The path given by --with-tools-dir does not contain a valid
>>>>>> configure: Visual Studio installation. Please point to the VC/bin or
>>>>>> VC/bin/amd64
>>>>>> configure: directory within the Visual Studio installation
>>>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>>>> configure exiting with result code 1
>>>>>>
>>>>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64
>>>>>> folder,
>>>>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly
>>>>>> under
>>>>>> /VC/bin.
>>>>>>
>>>>> This is strange. Looking at the configure source, we assume that the
>>>>> VS installation should contain "vc/bin/amd64/vcvars64.bat". If that file
>>>>> isn't found, configure doesn't recognize the VS installation. Unfortunately
>>>>> I don't have an Express installation to look at, but my old professional
>>>>> installation has that file. In VC/bin I only have vcvars32.bat.
>>>>>
>>>>> I'm pretty sure this layout was how the express edition used to look
>>>>> as well. Otherwise Magnus wouldn't have written the build doc claiming it
>>>>> would work.
>>>>>
>>>>> This means the file layout for Visual Studio 2013 has changed, or that
>>>>> it's different on Windows 10 (our builds are on older versions of Windows
>>>>> still).
>>>>>
>>>>> If you would like to try to fix this, the logic that needs updating is
>>>>> in make/autoconf/toolchain_windows.m4, in the macro
>>>>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>>
>>>>>> Iv'e made another attempt using /Microsoft Visual Studio 11.0/VC/bin/
>>>>>> which
>>>>>> resulted in the same error. This folder also has vcvars64.bat directly
>>>>>> under it. It also contains an /amd64 folder with a couple of dlls
>>>>>> inside.
>>>>>>
>>>>>> Since I'm specifying the path to the /VC/bin dir I don't understand
>>>>>> why
>>>>>> it's still complaining. What am I doing wrong?
>>>>>>
>>>>> Because of how different the versions of Visual Studio are, configure
>>>>> will not automatically assume or try a different version than the default
>>>>> without being told to. If you want to try 2012, you need to tell configure
>>>>> using --with-toolchain-version=2012. No need to specify tools dir as long
>>>>> as it's installed in the default location.
>>>>>
>>>>>> On a related note, is it possible to update the build requirements to
>>>>>> work
>>>>>> with VS 2017? OpenJFX already uses this version.
>>>>>>
>>>>> This will likely happen in JDK 11 time frame. Note though that
>>>>> changing compilers is usually a pretty big effort so it will take a while.
>>>>>
>>>>> /Erik
>>>>>
>>>>>> - Nir
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
If this works for you, we should update configure to look for both.

/Erik


On 2018-01-04 14:51, Nir Lisker wrote:

> It seems to have accepted vcvarsx86_amd64.bat quietly. Configure
> succeeded:
>
> Tools summary:
> * Environment:    cygwin version 2.9.0(0.318/5/3) (root at
> /cygdrive/c/cygwin64)
> * Boot JDK:       java version "9"  Java(TM) SE Runtime Environment
> (build 9+181)  Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed
> mode)   (at /cygdrive/c/progra~1/java/jdk-9)
> * Toolchain: microsoft (Microsoft Visual Studio 2013)
> * C Compiler:     Version 18.00.31101 (at
> /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
> * C++ Compiler:   Version 18.00.31101 (at
> /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
>
> Hopefully all this would be helpful to someone in the future.
>
> On with the rest of the steps...
>
> Thanks,
> Nir
>
> On Thu, Jan 4, 2018 at 2:36 PM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>
>     On 2018-01-04 12:45, Nir Lisker wrote:
>>     Yes, that did it, autegen.sh completed successfully. Thanks.
>>
>>     Now the next problem with "bash configure":
>>     configure: error: Target CPU mismatch. We are building for x86_64
>>     but CL is for "x86"; expected "x64".
>>
>>     If that's the cl.exe which is in the same folder as vcvars, I
>>     noticed that in toolchain_windows.m4 that the script can try to
>>     find vcvars64.bat:
>>
>>        if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>>           VCVARSFILE="vc/bin/vcvars32.bat"
>>        else
>>           VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>>        fi
>>
>>     But this file doesn't exist in the VS 12.0 or 11.0 installations.
>>     The change I made to the above in order to solve the "missing"
>>     VC/bin dir was to force using "vc/bin/vcvars32.bat" (because
>>     /amd64 doesn't exist), which I guess was not smart and caused the
>>     above error.
>>     Here is the list of all vcvars in the VS installations:
>>     https://i.imgur.com/QtlePFq.png <https://i.imgur.com/QtlePFq.png>
>>
>>     Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in
>>     VS 2013 is fine?
>>
>>     By the way, would building JDK 10 be any different in terms of
>>     compatibility? I already built OpenJFX 11 and I only need the JDK
>>     for that purpose. If JDK 10 can work here and is easier to build
>>     I'm fine with that.
>>
>>
>     It seems the Visual Studio Express edition did not include the
>     native 64bit compiler:
>     https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx
>     <https://msdn.microsoft.com/en-us/library/hs24szh9%28v=vs.120%29.aspx>
>
>     When we updated to VS 2013 in JDK 9, we used the professional
>     edition internally, which comes with the 64bit native compiler.
>     For OpenJDK, we were still able to build 32bit with the express
>     edition so we were fine with that. In JDK 10 and 11 32bit is not
>     as well supported.
>
>     The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross
>     compilation toolchain. I would try that and see what happens. In
>     theory it should work, but there may be a few more details to fix
>     to get it all the way.
>
>     /Erik
>
>>
>>     On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>         I think you also need the "Wrapper scripts for autoconf
>>         commands". Was a long time since I did this.
>>
>>         /Erik
>>
>>
>>         On 2018-01-04 11:40, Nir Lisker wrote:
>>>         I get "-bash: autoconf: command not found".
>>>
>>>         Here's an image of the autoconf packages in the cygwin
>>>         installer in case I didn't install the right one:
>>>         https://i.imgur.com/V3GMg9Y.png
>>>         <https://i.imgur.com/V3GMg9Y.png>
>>>
>>>         Do I need to add some directory to the PATH env variable?
>>>         I'd imagine cygwin would know where it installed it.
>>>
>>>         - Nir
>>>
>>>         On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson
>>>         <[hidden email] <mailto:[hidden email]>>
>>>         wrote:
>>>
>>>             Can you run "autoconf --version" on the command line?
>>>
>>>             /Erik
>>>
>>>
>>>             On 2018-01-03 16:33, Nir Lisker wrote:
>>>>             Hello Erik,
>>>>
>>>>             I installed autoconf 2.69-3 through cygwin (indeed it
>>>>             was listed as 2.5). However, running "bash autogen.sh"
>>>>             still gives:
>>>>
>>>>             You need autoconf installed to be able to regenerate
>>>>             the configure script
>>>>             Error: Cannot find autoconf
>>>>
>>>>             If I run "bash configure" I get
>>>>
>>>>             Configure source code has been updated, checking time
>>>>             stamps
>>>>             Running generated-configure.sh
>>>>
>>>>             And that's it. I checked generated-configure.sh and it
>>>>             contains only comments and no script.
>>>>
>>>>             In autogen.sh I tried adding a print to help with
>>>>             debugging:
>>>>
>>>>             AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no
>>>>             autoconf in'`"
>>>>             echo "AUTOCONF is ${AUTOCONF}"
>>>>
>>>>             which prints
>>>>
>>>>             AUTOCONF is
>>>>
>>>>             Apologies for the mess. How do I continue?
>>>>
>>>>             - Nir
>>>>
>>>>             On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson
>>>>             <[hidden email]
>>>>             <mailto:[hidden email]>> wrote:
>>>>
>>>>                 Hello Nir,
>>>>
>>>>                 On 2018-01-03 15:34, Nir Lisker wrote:
>>>>>                 Thanks for the detailed reply.
>>>>>
>>>>>                 Iv'e changed the logic in toolchain_windows.m4 and
>>>>>                 got this message:
>>>>>
>>>>>                 Configure source code has been updated, checking
>>>>>                 time stamps
>>>>>                 Warning: The configure source files is newer than
>>>>>                 the generated files.
>>>>>                 Cannot locate autoconf, unable to correct situation.
>>>>>                 Please install autoconf and run 'bash autogen.sh'
>>>>>                 to update the generated files.
>>>>>                 Error: Cannot continue
>>>>>
>>>>>                 I downloaded autoconf 2.69. How do I point to it?
>>>>>                 There is no installation.
>>>>>
>>>>                 If you downloaded the src distro, then you need to
>>>>                 compile and install it with something like
>>>>
>>>>                 $ ./configure
>>>>                 $ make
>>>>                 $ make install
>>>>
>>>>                 On Windows it's probably easier to just get it
>>>>                 through cygwin. Note that the cygwin installer
>>>>                 probably still lists autoconf as an old version in
>>>>                 the name, but last I checked it was 2.69 that they
>>>>                 actually provided. On Linux, just use your favorite
>>>>                 package installation tool (apt, yum etc).
>>>>
>>>>                 As long as it's on the path, autogen.sh will pick
>>>>                 it up. Configure will also detect that you changed
>>>>                 an .m4 file and run autogen.sh for you
>>>>                 automatically, which is what happened to you above.
>>>>
>>>>                 /Erik
>>>>
>>>>>                 On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
>>>>>                 <[hidden email]
>>>>>                 <mailto:[hidden email]>> wrote:
>>>>>
>>>>>                     Hello Nir,
>>>>>
>>>>>                     On 2018-01-03 13:05, Nir Lisker wrote:
>>>>>
>>>>>                         When trying to build JDK 11 on Windows 10
>>>>>                         with VS Express 2013 Update 4 (as
>>>>>                         stated in the docs - the highest supported
>>>>>                         version) the build fails:
>>>>>
>>>>>                     AFAIK, this should work, though I have only
>>>>>                     ever used VS 2013 Professional.
>>>>>
>>>>>                         bash configure
>>>>>                         --with-tools-dir='C:\Program Files
>>>>>                         (x86)\Microsoft Visual
>>>>>                         Studio 12.0\VC\bin'
>>>>>
>>>>>                     If VS is properly installed in the default
>>>>>                     location, there should be no need to specify
>>>>>                     --with-tools-dir. Configure will look in the
>>>>>                     default location automatically.
>>>>>
>>>>>                         ...
>>>>>                         configure: Found Visual Studio
>>>>>                         installation at /cygdrive/c/Program Files
>>>>>                         (x86)/Microsoft Visual Studio 12.0/ using
>>>>>                         --with-tools-dir
>>>>>                         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
>>>>>                         (x86)/ using --with-tools-dir
>>>>>                         configure: Warning:
>>>>>                         vc/bin/amd64/vcvars64.bat is missing, this
>>>>>                         is probably
>>>>>                         Visual Studio Express. Ignoring
>>>>>                         configure: The path given by
>>>>>                         --with-tools-dir does not contain a valid
>>>>>                         configure: Visual Studio installation.
>>>>>                         Please point to the VC/bin or
>>>>>                         VC/bin/amd64
>>>>>                         configure: directory within the Visual
>>>>>                         Studio installation
>>>>>                         configure: error: Cannot locate a valid
>>>>>                         Visual Studio installation
>>>>>                         configure exiting with result code 1
>>>>>
>>>>>                         /Microsoft Visual Studio 12.0/VC/bin/ does
>>>>>                         not contain an /amd64 folder,
>>>>>                         instead it has /x86_amd64. Also,
>>>>>                         vcvars64.bat is located directly under
>>>>>                         /VC/bin.
>>>>>
>>>>>                     This is strange. Looking at the configure
>>>>>                     source, we assume that the VS installation
>>>>>                     should contain "vc/bin/amd64/vcvars64.bat". If
>>>>>                     that file isn't found, configure doesn't
>>>>>                     recognize the VS installation. Unfortunately I
>>>>>                     don't have an Express installation to look at,
>>>>>                     but my old professional installation has that
>>>>>                     file. In VC/bin I only have vcvars32.bat.
>>>>>
>>>>>                     I'm pretty sure this layout was how the
>>>>>                     express edition used to look as well.
>>>>>                     Otherwise Magnus wouldn't have written the
>>>>>                     build doc claiming it would work.
>>>>>
>>>>>                     This means the file layout for Visual Studio
>>>>>                     2013 has changed, or that it's different on
>>>>>                     Windows 10 (our builds are on older versions
>>>>>                     of Windows still).
>>>>>
>>>>>                     If you would like to try to fix this, the
>>>>>                     logic that needs updating is in
>>>>>                     make/autoconf/toolchain_windows.m4, in the
>>>>>                     macro TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>>
>>>>>                         Iv'e made another attempt using /Microsoft
>>>>>                         Visual Studio 11.0/VC/bin/ which
>>>>>                         resulted in the same error. This folder
>>>>>                         also has vcvars64.bat directly
>>>>>                         under it. It also contains an /amd64
>>>>>                         folder with a couple of dlls inside.
>>>>>
>>>>>                         Since I'm specifying the path to the
>>>>>                         /VC/bin dir I don't understand why
>>>>>                         it's still complaining. What am I doing wrong?
>>>>>
>>>>>                     Because of how different the versions of
>>>>>                     Visual Studio are, configure will not
>>>>>                     automatically assume or try a different
>>>>>                     version than the default without being told
>>>>>                     to. If you want to try 2012, you need to tell
>>>>>                     configure using --with-toolchain-version=2012.
>>>>>                     No need to specify tools dir as long as it's
>>>>>                     installed in the default location.
>>>>>
>>>>>                         On a related note, is it possible to
>>>>>                         update the build requirements to work
>>>>>                         with VS 2017? OpenJFX already uses this
>>>>>                         version.
>>>>>
>>>>>                     This will likely happen in JDK 11 time frame.
>>>>>                     Note though that changing compilers is usually
>>>>>                     a pretty big effort so it will take a while.
>>>>>
>>>>>                     /Erik
>>>>>
>>>>>                         - Nir
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
Yeah, make also completed successfully:

Finished building target 'default (exploded-image)' in configuration
'windows-x86_64-normal-server-release'

This is what I did in toolchain_windows.m4:

    if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
       VCVARSFILE="vc/bin/vcvars32.bat"
    else
#     VCVARSFILE="vc/bin/amd64/vcvars64.bat"
       VCVARSFILE="vc/bin/x86_amd64/vcvarsx86_amd64.bat"
    fi

If you need any extra info I can update.

- Nir

On Thu, Jan 4, 2018 at 5:23 PM, Erik Joelsson <[hidden email]>
wrote:

> If this works for you, we should update configure to look for both.
>
> /Erik
>
> On 2018-01-04 14:51, Nir Lisker wrote:
>
> It seems to have accepted vcvarsx86_amd64.bat quietly. Configure
> succeeded:
>
> Tools summary:
> * Environment:    cygwin version 2.9.0(0.318/5/3) (root at
> /cygdrive/c/cygwin64)
> * Boot JDK:       java version "9"  Java(TM) SE Runtime Environment (build
> 9+181)  Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)   (at
> /cygdrive/c/progra~1/java/jdk-9)
> * Toolchain:      microsoft (Microsoft Visual Studio 2013)
> * C Compiler:     Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.
> 0/vc/bin/x86_am~1/cl)
> * C++ Compiler:   Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.
> 0/vc/bin/x86_am~1/cl)
>
> Hopefully all this would be helpful to someone in the future.
>
> On with the rest of the steps...
>
> Thanks,
> Nir
>
> On Thu, Jan 4, 2018 at 2:36 PM, Erik Joelsson <[hidden email]>
> wrote:
>
>>
>> On 2018-01-04 12:45, Nir Lisker wrote:
>>
>> Yes, that did it, autegen.sh completed successfully. Thanks.
>>
>> Now the next problem with "bash configure":
>> configure: error: Target CPU mismatch. We are building for x86_64 but CL
>> is for "x86"; expected "x64".
>>
>> If that's the cl.exe which is in the same folder as vcvars, I noticed
>> that in toolchain_windows.m4 that the script can try to find vcvars64.bat:
>>
>>    if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>>       VCVARSFILE="vc/bin/vcvars32.bat"
>>    else
>>       VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>>    fi
>>
>> But this file doesn't exist in the VS 12.0 or 11.0 installations. The
>> change I made to the above in order to solve the "missing" VC/bin dir was
>> to force using "vc/bin/vcvars32.bat" (because /amd64 doesn't exist), which
>> I guess was not smart and caused the above error.
>> Here is the list of all vcvars in the VS installations:
>> https://i.imgur.com/QtlePFq.png
>>
>> Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in VS 2013
>> is fine?
>>
>> By the way, would building JDK 10 be any different in terms of
>> compatibility? I already built OpenJFX 11 and I only need the JDK for that
>> purpose. If JDK 10 can work here and is easier to build I'm fine with that.
>>
>>
>> It seems the Visual Studio Express edition did not include the native
>> 64bit compiler:
>> https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx
>>
>> When we updated to VS 2013 in JDK 9, we used the professional edition
>> internally, which comes with the 64bit native compiler. For OpenJDK, we
>> were still able to build 32bit with the express edition so we were fine
>> with that. In JDK 10 and 11 32bit is not as well supported.
>>
>> The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross compilation
>> toolchain. I would try that and see what happens. In theory it should work,
>> but there may be a few more details to fix to get it all the way.
>>
>> /Erik
>>
>>
>> On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson <[hidden email]>
>> wrote:
>>
>>> I think you also need the "Wrapper scripts for autoconf commands". Was a
>>> long time since I did this.
>>>
>>> /Erik
>>>
>>> On 2018-01-04 11:40, Nir Lisker wrote:
>>>
>>> I get "-bash: autoconf: command not found".
>>>
>>> Here's an image of the autoconf packages in the cygwin installer in case
>>> I didn't install the right one: https://i.imgur.com/V3GMg9Y.png
>>>
>>> Do I need to add some directory to the PATH env variable? I'd imagine
>>> cygwin would know where it installed it.
>>>
>>> - Nir
>>>
>>> On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson <[hidden email]
>>> > wrote:
>>>
>>>> Can you run "autoconf --version" on the command line?
>>>>
>>>> /Erik
>>>>
>>>> On 2018-01-03 16:33, Nir Lisker wrote:
>>>>
>>>> Hello Erik,
>>>>
>>>> I installed autoconf 2.69-3 through cygwin (indeed it was listed as
>>>> 2.5). However, running "bash autogen.sh" still gives:
>>>>
>>>> You need autoconf installed to be able to regenerate the configure
>>>> script
>>>> Error: Cannot find autoconf
>>>>
>>>> If I run "bash configure" I get
>>>>
>>>> Configure source code has been updated, checking time stamps
>>>> Running generated-configure.sh
>>>>
>>>> And that's it. I checked generated-configure.sh and it contains only
>>>> comments and no script.
>>>>
>>>> In autogen.sh I tried adding a print to help with debugging:
>>>>
>>>> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
>>>> echo "AUTOCONF is ${AUTOCONF}"
>>>>
>>>> which prints
>>>>
>>>> AUTOCONF is
>>>>
>>>> Apologies for the mess. How do I continue?
>>>>
>>>> - Nir
>>>>
>>>> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <[hidden email]
>>>> > wrote:
>>>>
>>>>> Hello Nir,
>>>>> On 2018-01-03 15:34, Nir Lisker wrote:
>>>>>
>>>>> Thanks for the detailed reply.
>>>>>
>>>>> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>>>>
>>>>> Configure source code has been updated, checking time stamps
>>>>> Warning: The configure source files is newer than the generated files.
>>>>> Cannot locate autoconf, unable to correct situation.
>>>>> Please install autoconf and run 'bash autogen.sh' to update the
>>>>> generated files.
>>>>> Error: Cannot continue
>>>>>
>>>>> I downloaded autoconf 2.69. How do I point to it? There is no
>>>>> installation.
>>>>>
>>>>> If you downloaded the src distro, then you need to compile and install
>>>>> it with something like
>>>>>
>>>>> $ ./configure
>>>>> $ make
>>>>> $ make install
>>>>>
>>>>> On Windows it's probably easier to just get it through cygwin. Note
>>>>> that the cygwin installer probably still lists autoconf as an old version
>>>>> in the name, but last I checked it was 2.69 that they actually provided. On
>>>>> Linux, just use your favorite package installation tool (apt, yum etc).
>>>>>
>>>>> As long as it's on the path, autogen.sh will pick it up. Configure
>>>>> will also detect that you changed an .m4 file and run autogen.sh for you
>>>>> automatically, which is what happened to you above.
>>>>>
>>>>> /Erik
>>>>>
>>>>> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <
>>>>> [hidden email]> wrote:
>>>>>
>>>>>> Hello Nir,
>>>>>>
>>>>>> On 2018-01-03 13:05, Nir Lisker wrote:
>>>>>>
>>>>>>> When trying to build JDK 11 on Windows 10 with VS Express 2013
>>>>>>> Update 4 (as
>>>>>>> stated in the docs - the highest supported version) the build fails:
>>>>>>>
>>>>>> AFAIK, this should work, though I have only ever used VS 2013
>>>>>> Professional.
>>>>>>
>>>>>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft
>>>>>>> Visual
>>>>>>> Studio 12.0\VC\bin'
>>>>>>>
>>>>>> If VS is properly installed in the default location, there should be
>>>>>> no need to specify --with-tools-dir. Configure will look in the default
>>>>>> location automatically.
>>>>>>
>>>>>>> ...
>>>>>>> configure: Found Visual Studio installation at /cygdrive/c/Program
>>>>>>> Files
>>>>>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>>>>>> 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
>>>>>>> (x86)/ using --with-tools-dir
>>>>>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>>>>>> probably
>>>>>>> Visual Studio Express. Ignoring
>>>>>>> configure: The path given by --with-tools-dir does not contain a
>>>>>>> valid
>>>>>>> configure: Visual Studio installation. Please point to the VC/bin or
>>>>>>> VC/bin/amd64
>>>>>>> configure: directory within the Visual Studio installation
>>>>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>>>>> configure exiting with result code 1
>>>>>>>
>>>>>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64
>>>>>>> folder,
>>>>>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly
>>>>>>> under
>>>>>>> /VC/bin.
>>>>>>>
>>>>>> This is strange. Looking at the configure source, we assume that the
>>>>>> VS installation should contain "vc/bin/amd64/vcvars64.bat". If that file
>>>>>> isn't found, configure doesn't recognize the VS installation. Unfortunately
>>>>>> I don't have an Express installation to look at, but my old professional
>>>>>> installation has that file. In VC/bin I only have vcvars32.bat.
>>>>>>
>>>>>> I'm pretty sure this layout was how the express edition used to look
>>>>>> as well. Otherwise Magnus wouldn't have written the build doc claiming it
>>>>>> would work.
>>>>>>
>>>>>> This means the file layout for Visual Studio 2013 has changed, or
>>>>>> that it's different on Windows 10 (our builds are on older versions of
>>>>>> Windows still).
>>>>>>
>>>>>> If you would like to try to fix this, the logic that needs updating
>>>>>> is in make/autoconf/toolchain_windows.m4, in the macro
>>>>>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>>>
>>>>>>> Iv'e made another attempt using /Microsoft Visual Studio
>>>>>>> 11.0/VC/bin/ which
>>>>>>> resulted in the same error. This folder also has vcvars64.bat
>>>>>>> directly
>>>>>>> under it. It also contains an /amd64 folder with a couple of dlls
>>>>>>> inside.
>>>>>>>
>>>>>>> Since I'm specifying the path to the /VC/bin dir I don't understand
>>>>>>> why
>>>>>>> it's still complaining. What am I doing wrong?
>>>>>>>
>>>>>> Because of how different the versions of Visual Studio are, configure
>>>>>> will not automatically assume or try a different version than the default
>>>>>> without being told to. If you want to try 2012, you need to tell configure
>>>>>> using --with-toolchain-version=2012. No need to specify tools dir as long
>>>>>> as it's installed in the default location.
>>>>>>
>>>>>>> On a related note, is it possible to update the build requirements
>>>>>>> to work
>>>>>>> with VS 2017? OpenJFX already uses this version.
>>>>>>>
>>>>>> This will likely happen in JDK 11 time frame. Note though that
>>>>>> changing compilers is usually a pretty big effort so it will take a while.
>>>>>>
>>>>>> /Erik
>>>>>>
>>>>>>> - Nir
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Erik Joelsson
Thanks! I've filed https://bugs.openjdk.java.net/browse/JDK-8194645

/Erik


On 2018-01-04 16:30, Nir Lisker wrote:

> Yeah, make also completed successfully:
>
> Finished building target 'default (exploded-image)' in configuration
> 'windows-x86_64-normal-server-release'
>
> This is what I did in toolchain_windows.m4:
>
>     if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>        VCVARSFILE="vc/bin/vcvars32.bat"
>     else
> #     VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>        VCVARSFILE="vc/bin/x86_amd64/vcvarsx86_amd64.bat"
>     fi
>
> If you need any extra info I can update.
>
> - Nir
>
> On Thu, Jan 4, 2018 at 5:23 PM, Erik Joelsson
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     If this works for you, we should update configure to look for both.
>
>     /Erik
>
>
>     On 2018-01-04 14:51, Nir Lisker wrote:
>>     It seems to have accepted vcvarsx86_amd64.bat quietly. Configure
>>     succeeded:
>>
>>     Tools summary:
>>     * Environment:    cygwin version 2.9.0(0.318/5/3) (root at
>>     /cygdrive/c/cygwin64)
>>     * Boot JDK:      java version "9"  Java(TM) SE Runtime
>>     Environment (build 9+181)  Java HotSpot(TM) 64-Bit Server VM
>>     (build 9+181, mixed mode)  (at /cygdrive/c/progra~1/java/jdk-9)
>>     * Toolchain:      microsoft (Microsoft Visual Studio 2013)
>>     * C Compiler:     Version 18.00.31101 (at
>>     /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
>>     * C++ Compiler:   Version 18.00.31101 (at
>>     /cygdrive/c/progra~2/micros~1.0/vc/bin/x86_am~1/cl)
>>
>>     Hopefully all this would be helpful to someone in the future.
>>
>>     On with the rest of the steps...
>>
>>     Thanks,
>>     Nir
>>
>>     On Thu, Jan 4, 2018 at 2:36 PM, Erik Joelsson
>>     <[hidden email] <mailto:[hidden email]>> wrote:
>>
>>
>>         On 2018-01-04 12:45, Nir Lisker wrote:
>>>         Yes, that did it, autegen.sh completed successfully. Thanks.
>>>
>>>         Now the next problem with "bash configure":
>>>         configure: error: Target CPU mismatch. We are building for
>>>         x86_64 but CL is for "x86"; expected "x64".
>>>
>>>         If that's the cl.exe which is in the same folder as vcvars,
>>>         I noticed that in toolchain_windows.m4 that the script can
>>>         try to find vcvars64.bat:
>>>
>>>            if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>>>               VCVARSFILE="vc/bin/vcvars32.ba <http://vcvars32.ba>t"
>>>            else
>>>         VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>>>            fi
>>>
>>>         But this file doesn't exist in the VS 12.0 or 11.0
>>>         installations. The change I made to the above in order to
>>>         solve the "missing" VC/bin dir was to force using
>>>         "vc/bin/vcvars32.bat" (because /amd64 doesn't exist), which
>>>         I guess was not smart and caused the above error.
>>>         Here is the list of all vcvars in the VS installations:
>>>         https://i.imgur.com/QtlePFq.png
>>>         <https://i.imgur.com/QtlePFq.png>
>>>
>>>         Note that VS 2017 has vcvars64.bat.
>>>         Maybe vcvarsx86_amd64.bat in VS 2013 is fine?
>>>
>>>         By the way, would building JDK 10 be any different in terms
>>>         of compatibility? I already built OpenJFX 11 and I only need
>>>         the JDK for that purpose. If JDK 10 can work here and is
>>>         easier to build I'm fine with that.
>>>
>>>
>>         It seems the Visual Studio Express edition did not include
>>         the native 64bit compiler:
>>         https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx
>>         <https://msdn.microsoft.com/en-us/library/hs24szh9%28v=vs.120%29.aspx>
>>
>>         When we updated to VS 2013 in JDK 9, we used the professional
>>         edition internally, which comes with the 64bit native
>>         compiler. For OpenJDK, we were still able to build 32bit with
>>         the express edition so we were fine with that. In JDK 10 and
>>         11 32bit is not as well supported.
>>
>>         The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross
>>         compilation toolchain. I would try that and see what happens.
>>         In theory it should work, but there may be a few more details
>>         to fix to get it all the way.
>>
>>         /Erik
>>
>>>
>>>         On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson
>>>         <[hidden email] <mailto:[hidden email]>>
>>>         wrote:
>>>
>>>             I think you also need the "Wrapper scripts for autoconf
>>>             commands". Was a long time since I did this.
>>>
>>>             /Erik
>>>
>>>
>>>             On 2018-01-04 11:40, Nir Lisker wrote:
>>>>             I get "-bash: autoconf: command not found".
>>>>
>>>>             Here's an image of the autoconf packages in the cygwin
>>>>             installer in case I didn't install the right one:
>>>>             https://i.imgur.com/V3GMg9Y.png
>>>>             <https://i.imgur.com/V3GMg9Y.png>
>>>>
>>>>             Do I need to add some directory to the PATH env
>>>>             variable? I'd imagine cygwin would know where it
>>>>             installed it.
>>>>
>>>>             - Nir
>>>>
>>>>             On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson
>>>>             <[hidden email]
>>>>             <mailto:[hidden email]>> wrote:
>>>>
>>>>                 Can you run "autoconf --version" on the command line?
>>>>
>>>>                 /Erik
>>>>
>>>>
>>>>                 On 2018-01-03 16:33, Nir Lisker wrote:
>>>>>                 Hello Erik,
>>>>>
>>>>>                 I installed autoconf 2.69-3 through cygwin (indeed
>>>>>                 it was listed as 2.5). However, running "bash
>>>>>                 autogen.sh" still gives:
>>>>>
>>>>>                 You need autoconf installed to be able to
>>>>>                 regenerate the configure script
>>>>>                 Error: Cannot find autoconf
>>>>>
>>>>>                 If I run "bash configure" I get
>>>>>
>>>>>                 Configure source code has been updated, checking
>>>>>                 time stamps
>>>>>                 Running generated-configure.sh
>>>>>
>>>>>                 And that's it. I checked generated-configure.sh
>>>>>                 and it contains only comments and no script.
>>>>>
>>>>>                 In autogen.sh I tried adding a print to help with
>>>>>                 debugging:
>>>>>
>>>>>                 AUTOCONF="`which autoconf 2> /dev/null | grep -v
>>>>>                 '^no autoconf in'`"
>>>>>                 echo "AUTOCONF is ${AUTOCONF}"
>>>>>
>>>>>                 which prints
>>>>>
>>>>>                 AUTOCONF is
>>>>>
>>>>>                 Apologies for the mess. How do I continue?
>>>>>
>>>>>                 - Nir
>>>>>
>>>>>                 On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson
>>>>>                 <[hidden email]
>>>>>                 <mailto:[hidden email]>> wrote:
>>>>>
>>>>>                     Hello Nir,
>>>>>
>>>>>                     On 2018-01-03 15:34, Nir Lisker wrote:
>>>>>>                     Thanks for the detailed reply.
>>>>>>
>>>>>>                     Iv'e changed the logic in
>>>>>>                     toolchain_windows.m4 and got this message:
>>>>>>
>>>>>>                     Configure source code has been updated,
>>>>>>                     checking time stamps
>>>>>>                     Warning: The configure source files is newer
>>>>>>                     than the generated files.
>>>>>>                     Cannot locate autoconf, unable to correct
>>>>>>                     situation.
>>>>>>                     Please install autoconf and run 'bash
>>>>>>                     autogen.sh' to update the generated files.
>>>>>>                     Error: Cannot continue
>>>>>>
>>>>>>                     I downloaded autoconf 2.69. How do I point to
>>>>>>                     it? There is no installation.
>>>>>>
>>>>>                     If you downloaded the src distro, then you
>>>>>                     need to compile and install it with something like
>>>>>
>>>>>                     $ ./configure
>>>>>                     $ make
>>>>>                     $ make install
>>>>>
>>>>>                     On Windows it's probably easier to just get it
>>>>>                     through cygwin. Note that the cygwin installer
>>>>>                     probably still lists autoconf as an old
>>>>>                     version in the name, but last I checked it was
>>>>>                     2.69 that they actually provided. On Linux,
>>>>>                     just use your favorite package installation
>>>>>                     tool (apt, yum etc).
>>>>>
>>>>>                     As long as it's on the path, autogen.sh will
>>>>>                     pick it up. Configure will also detect that
>>>>>                     you changed an .m4 file and run autogen.sh for
>>>>>                     you automatically, which is what happened to
>>>>>                     you above.
>>>>>
>>>>>                     /Erik
>>>>>
>>>>>>                     On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson
>>>>>>                     <[hidden email]
>>>>>>                     <mailto:[hidden email]>> wrote:
>>>>>>
>>>>>>                         Hello Nir,
>>>>>>
>>>>>>                         On 2018-01-03 13:05, Nir Lisker wrote:
>>>>>>
>>>>>>                             When trying to build JDK 11 on
>>>>>>                             Windows 10 with VS Express 2013
>>>>>>                             Update 4 (as
>>>>>>                             stated in the docs - the highest
>>>>>>                             supported version) the build fails:
>>>>>>
>>>>>>                         AFAIK, this should work, though I have
>>>>>>                         only ever used VS 2013 Professional.
>>>>>>
>>>>>>                             bash configure
>>>>>>                             --with-tools-dir='C:\Program Files
>>>>>>                             (x86)\Microsoft Visual
>>>>>>                             Studio 12.0\VC\bin'
>>>>>>
>>>>>>                         If VS is properly installed in the
>>>>>>                         default location, there should be no need
>>>>>>                         to specify --with-tools-dir. Configure
>>>>>>                         will look in the default location
>>>>>>                         automatically.
>>>>>>
>>>>>>                             ...
>>>>>>                             configure: Found Visual Studio
>>>>>>                             installation at /cygdrive/c/Program Files
>>>>>>                             (x86)/Microsoft Visual Studio 12.0/
>>>>>>                             using --with-tools-dir
>>>>>>                             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
>>>>>>                             (x86)/ using --with-tools-dir
>>>>>>                             configure: Warning:
>>>>>>                             vc/bin/amd64/vcvars64.bat is missing,
>>>>>>                             this is probably
>>>>>>                             Visual Studio Express. Ignoring
>>>>>>                             configure: The path given by
>>>>>>                             --with-tools-dir does not contain a valid
>>>>>>                             configure: Visual Studio
>>>>>>                             installation. Please point to the
>>>>>>                             VC/bin or
>>>>>>                             VC/bin/amd64
>>>>>>                             configure: directory within the
>>>>>>                             Visual Studio installation
>>>>>>                             configure: error: Cannot locate a
>>>>>>                             valid Visual Studio installation
>>>>>>                             configure exiting with result code 1
>>>>>>
>>>>>>                             /Microsoft Visual Studio 12.0/VC/bin/
>>>>>>                             does not contain an /amd64 folder,
>>>>>>                             instead it has /x86_amd64. Also,
>>>>>>                             vcvars64.bat is located directly under
>>>>>>                             /VC/bin.
>>>>>>
>>>>>>                         This is strange. Looking at the configure
>>>>>>                         source, we assume that the VS
>>>>>>                         installation should contain
>>>>>>                         "vc/bin/amd64/vcvars64.bat". If that file
>>>>>>                         isn't found, configure doesn't recognize
>>>>>>                         the VS installation. Unfortunately I
>>>>>>                         don't have an Express installation to
>>>>>>                         look at, but my old professional
>>>>>>                         installation has that file. In VC/bin I
>>>>>>                         only have vcvars32.bat.
>>>>>>
>>>>>>                         I'm pretty sure this layout was how the
>>>>>>                         express edition used to look as well.
>>>>>>                         Otherwise Magnus wouldn't have written
>>>>>>                         the build doc claiming it would work.
>>>>>>
>>>>>>                         This means the file layout for Visual
>>>>>>                         Studio 2013 has changed, or that it's
>>>>>>                         different on Windows 10 (our builds are
>>>>>>                         on older versions of Windows still).
>>>>>>
>>>>>>                         If you would like to try to fix this, the
>>>>>>                         logic that needs updating is in
>>>>>>                         make/autoconf/toolchain_windows.m4, in
>>>>>>                         the macro
>>>>>>                         TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>>>
>>>>>>                             Iv'e made another attempt using
>>>>>>                             /Microsoft Visual Studio 11.0/VC/bin/
>>>>>>                             which
>>>>>>                             resulted in the same error. This
>>>>>>                             folder also has vcvars64.bat directly
>>>>>>                             under it. It also contains an /amd64
>>>>>>                             folder with a couple of dlls inside.
>>>>>>
>>>>>>                             Since I'm specifying the path to the
>>>>>>                             /VC/bin dir I don't understand why
>>>>>>                             it's still complaining. What am I
>>>>>>                             doing wrong?
>>>>>>
>>>>>>                         Because of how different the versions of
>>>>>>                         Visual Studio are, configure will not
>>>>>>                         automatically assume or try a different
>>>>>>                         version than the default without being
>>>>>>                         told to. If you want to try 2012, you
>>>>>>                         need to tell configure using
>>>>>>                         --with-toolchain-version=2012. No need to
>>>>>>                         specify tools dir as long as it's
>>>>>>                         installed in the default location.
>>>>>>
>>>>>>                             On a related note, is it possible to
>>>>>>                             update the build requirements to work
>>>>>>                             with VS 2017? OpenJFX already uses
>>>>>>                             this version.
>>>>>>
>>>>>>                         This will likely happen in JDK 11 time
>>>>>>                         frame. Note though that changing
>>>>>>                         compilers is usually a pretty big effort
>>>>>>                         so it will take a while.
>>>>>>
>>>>>>                         /Erik
>>>>>>
>>>>>>                             - Nir
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: bash configure fails on missing VS tools dir

Nir Lisker
Great. I don't think I can Watch or comment on the JIRA issue because I
don't have an account, and also I'm not registered on build-dev mailing
list, so if some system or build/configure info is needed I can be
contacted in this email.

- Nir

On Thu, Jan 4, 2018 at 6:09 PM, Erik Joelsson <[hidden email]>
wrote:

> Thanks! I've filed https://bugs.openjdk.java.net/browse/JDK-8194645
>
> /Erik
>
> On 2018-01-04 16:30, Nir Lisker wrote:
>
> Yeah, make also completed successfully:
>
> Finished building target 'default (exploded-image)' in configuration
> 'windows-x86_64-normal-server-release'
>
> This is what I did in toolchain_windows.m4:
>
>     if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>        VCVARSFILE="vc/bin/vcvars32.bat"
>     else
> #     VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>        VCVARSFILE="vc/bin/x86_amd64/vcvarsx86_amd64.bat"
>     fi
>
> If you need any extra info I can update.
>
> - Nir
>
> On Thu, Jan 4, 2018 at 5:23 PM, Erik Joelsson <[hidden email]>
> wrote:
>
>> If this works for you, we should update configure to look for both.
>>
>> /Erik
>>
>> On 2018-01-04 14:51, Nir Lisker wrote:
>>
>> It seems to have accepted vcvarsx86_amd64.bat quietly. Configure
>> succeeded:
>>
>> Tools summary:
>> * Environment:    cygwin version 2.9.0(0.318/5/3) (root at
>> /cygdrive/c/cygwin64)
>> * Boot JDK:       java version "9"  Java(TM) SE Runtime Environment
>> (build 9+181)  Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
>>  (at /cygdrive/c/progra~1/java/jdk-9)
>> * Toolchain:      microsoft (Microsoft Visual Studio 2013)
>> * C Compiler:     Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.
>> 0/vc/bin/x86_am~1/cl)
>> * C++ Compiler:   Version 18.00.31101 (at /cygdrive/c/progra~2/micros~1.
>> 0/vc/bin/x86_am~1/cl)
>>
>> Hopefully all this would be helpful to someone in the future.
>>
>> On with the rest of the steps...
>>
>> Thanks,
>> Nir
>>
>> On Thu, Jan 4, 2018 at 2:36 PM, Erik Joelsson <[hidden email]>
>> wrote:
>>
>>>
>>> On 2018-01-04 12:45, Nir Lisker wrote:
>>>
>>> Yes, that did it, autegen.sh completed successfully. Thanks.
>>>
>>> Now the next problem with "bash configure":
>>> configure: error: Target CPU mismatch. We are building for x86_64 but CL
>>> is for "x86"; expected "x64".
>>>
>>> If that's the cl.exe which is in the same folder as vcvars, I noticed
>>> that in toolchain_windows.m4 that the script can try to find vcvars64.bat:
>>>
>>>    if test "x$OPENJDK_TARGET_CPU_BITS" = x32; then
>>>       VCVARSFILE="vc/bin/vcvars32.bat"
>>>    else
>>>       VCVARSFILE="vc/bin/amd64/vcvars64.bat"
>>>    fi
>>>
>>> But this file doesn't exist in the VS 12.0 or 11.0 installations. The
>>> change I made to the above in order to solve the "missing" VC/bin dir was
>>> to force using "vc/bin/vcvars32.bat" (because /amd64 doesn't exist), which
>>> I guess was not smart and caused the above error.
>>> Here is the list of all vcvars in the VS installations:
>>> https://i.imgur.com/QtlePFq.png
>>>
>>> Note that VS 2017 has vcvars64.bat. Maybe vcvarsx86_amd64.bat in VS 2013
>>> is fine?
>>>
>>> By the way, would building JDK 10 be any different in terms of
>>> compatibility? I already built OpenJFX 11 and I only need the JDK for that
>>> purpose. If JDK 10 can work here and is easier to build I'm fine with that.
>>>
>>>
>>> It seems the Visual Studio Express edition did not include the native
>>> 64bit compiler:
>>> https://msdn.microsoft.com/en-us/library/hs24szh9(v=vs.120).aspx
>>>
>>> When we updated to VS 2013 in JDK 9, we used the professional edition
>>> internally, which comes with the 64bit native compiler. For OpenJDK, we
>>> were still able to build 32bit with the express edition so we were fine
>>> with that. In JDK 10 and 11 32bit is not as well supported.
>>>
>>> The vcvarsx86_amd64.bat seems to be a 32bit to 64bit cross compilation
>>> toolchain. I would try that and see what happens. In theory it should work,
>>> but there may be a few more details to fix to get it all the way.
>>>
>>> /Erik
>>>
>>>
>>> On Thu, Jan 4, 2018 at 12:55 PM, Erik Joelsson <[hidden email]
>>> > wrote:
>>>
>>>> I think you also need the "Wrapper scripts for autoconf commands". Was
>>>> a long time since I did this.
>>>>
>>>> /Erik
>>>>
>>>> On 2018-01-04 11:40, Nir Lisker wrote:
>>>>
>>>> I get "-bash: autoconf: command not found".
>>>>
>>>> Here's an image of the autoconf packages in the cygwin installer in
>>>> case I didn't install the right one: https://i.imgur.com/V3GMg9Y.png
>>>>
>>>> Do I need to add some directory to the PATH env variable? I'd imagine
>>>> cygwin would know where it installed it.
>>>>
>>>> - Nir
>>>>
>>>> On Thu, Jan 4, 2018 at 10:29 AM, Erik Joelsson <
>>>> [hidden email]> wrote:
>>>>
>>>>> Can you run "autoconf --version" on the command line?
>>>>>
>>>>> /Erik
>>>>>
>>>>> On 2018-01-03 16:33, Nir Lisker wrote:
>>>>>
>>>>> Hello Erik,
>>>>>
>>>>> I installed autoconf 2.69-3 through cygwin (indeed it was listed as
>>>>> 2.5). However, running "bash autogen.sh" still gives:
>>>>>
>>>>> You need autoconf installed to be able to regenerate the configure
>>>>> script
>>>>> Error: Cannot find autoconf
>>>>>
>>>>> If I run "bash configure" I get
>>>>>
>>>>> Configure source code has been updated, checking time stamps
>>>>> Running generated-configure.sh
>>>>>
>>>>> And that's it. I checked generated-configure.sh and it contains only
>>>>> comments and no script.
>>>>>
>>>>> In autogen.sh I tried adding a print to help with debugging:
>>>>>
>>>>> AUTOCONF="`which autoconf 2> /dev/null | grep -v '^no autoconf in'`"
>>>>> echo "AUTOCONF is ${AUTOCONF}"
>>>>>
>>>>> which prints
>>>>>
>>>>> AUTOCONF is
>>>>>
>>>>> Apologies for the mess. How do I continue?
>>>>>
>>>>> - Nir
>>>>>
>>>>> On Wed, Jan 3, 2018 at 4:54 PM, Erik Joelsson <
>>>>> [hidden email]> wrote:
>>>>>
>>>>>> Hello Nir,
>>>>>> On 2018-01-03 15:34, Nir Lisker wrote:
>>>>>>
>>>>>> Thanks for the detailed reply.
>>>>>>
>>>>>> Iv'e changed the logic in toolchain_windows.m4 and got this message:
>>>>>>
>>>>>> Configure source code has been updated, checking time stamps
>>>>>> Warning: The configure source files is newer than the generated files.
>>>>>> Cannot locate autoconf, unable to correct situation.
>>>>>> Please install autoconf and run 'bash autogen.sh' to update the
>>>>>> generated files.
>>>>>> Error: Cannot continue
>>>>>>
>>>>>> I downloaded autoconf 2.69. How do I point to it? There is no
>>>>>> installation.
>>>>>>
>>>>>> If you downloaded the src distro, then you need to compile and
>>>>>> install it with something like
>>>>>>
>>>>>> $ ./configure
>>>>>> $ make
>>>>>> $ make install
>>>>>>
>>>>>> On Windows it's probably easier to just get it through cygwin. Note
>>>>>> that the cygwin installer probably still lists autoconf as an old version
>>>>>> in the name, but last I checked it was 2.69 that they actually provided. On
>>>>>> Linux, just use your favorite package installation tool (apt, yum etc).
>>>>>>
>>>>>> As long as it's on the path, autogen.sh will pick it up. Configure
>>>>>> will also detect that you changed an .m4 file and run autogen.sh for you
>>>>>> automatically, which is what happened to you above.
>>>>>>
>>>>>> /Erik
>>>>>>
>>>>>> On Wed, Jan 3, 2018 at 3:24 PM, Erik Joelsson <
>>>>>> [hidden email]> wrote:
>>>>>>
>>>>>>> Hello Nir,
>>>>>>>
>>>>>>> On 2018-01-03 13:05, Nir Lisker wrote:
>>>>>>>
>>>>>>>> When trying to build JDK 11 on Windows 10 with VS Express 2013
>>>>>>>> Update 4 (as
>>>>>>>> stated in the docs - the highest supported version) the build fails:
>>>>>>>>
>>>>>>> AFAIK, this should work, though I have only ever used VS 2013
>>>>>>> Professional.
>>>>>>>
>>>>>>>> bash configure  --with-tools-dir='C:\Program Files (x86)\Microsoft
>>>>>>>> Visual
>>>>>>>> Studio 12.0\VC\bin'
>>>>>>>>
>>>>>>> If VS is properly installed in the default location, there should be
>>>>>>> no need to specify --with-tools-dir. Configure will look in the default
>>>>>>> location automatically.
>>>>>>>
>>>>>>>> ...
>>>>>>>> configure: Found Visual Studio installation at /cygdrive/c/Program
>>>>>>>> Files
>>>>>>>> (x86)/Microsoft Visual Studio 12.0/ using --with-tools-dir
>>>>>>>> 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
>>>>>>>> (x86)/ using --with-tools-dir
>>>>>>>> configure: Warning: vc/bin/amd64/vcvars64.bat is missing, this is
>>>>>>>> probably
>>>>>>>> Visual Studio Express. Ignoring
>>>>>>>> configure: The path given by --with-tools-dir does not contain a
>>>>>>>> valid
>>>>>>>> configure: Visual Studio installation. Please point to the VC/bin or
>>>>>>>> VC/bin/amd64
>>>>>>>> configure: directory within the Visual Studio installation
>>>>>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>>>>>> configure exiting with result code 1
>>>>>>>>
>>>>>>>> /Microsoft Visual Studio 12.0/VC/bin/ does not contain an /amd64
>>>>>>>> folder,
>>>>>>>> instead it has /x86_amd64. Also, vcvars64.bat is located directly
>>>>>>>> under
>>>>>>>> /VC/bin.
>>>>>>>>
>>>>>>> This is strange. Looking at the configure source, we assume that the
>>>>>>> VS installation should contain "vc/bin/amd64/vcvars64.bat". If that file
>>>>>>> isn't found, configure doesn't recognize the VS installation. Unfortunately
>>>>>>> I don't have an Express installation to look at, but my old professional
>>>>>>> installation has that file. In VC/bin I only have vcvars32.bat.
>>>>>>>
>>>>>>> I'm pretty sure this layout was how the express edition used to look
>>>>>>> as well. Otherwise Magnus wouldn't have written the build doc claiming it
>>>>>>> would work.
>>>>>>>
>>>>>>> This means the file layout for Visual Studio 2013 has changed, or
>>>>>>> that it's different on Windows 10 (our builds are on older versions of
>>>>>>> Windows still).
>>>>>>>
>>>>>>> If you would like to try to fix this, the logic that needs updating
>>>>>>> is in make/autoconf/toolchain_windows.m4, in the macro
>>>>>>> TOOLCHAIN_CHECK_POSSIBLE_VISUAL_STUDIO_ROOT.
>>>>>>>
>>>>>>>> Iv'e made another attempt using /Microsoft Visual Studio
>>>>>>>> 11.0/VC/bin/ which
>>>>>>>> resulted in the same error. This folder also has vcvars64.bat
>>>>>>>> directly
>>>>>>>> under it. It also contains an /amd64 folder with a couple of dlls
>>>>>>>> inside.
>>>>>>>>
>>>>>>>> Since I'm specifying the path to the /VC/bin dir I don't understand
>>>>>>>> why
>>>>>>>> it's still complaining. What am I doing wrong?
>>>>>>>>
>>>>>>> Because of how different the versions of Visual Studio are,
>>>>>>> configure will not automatically assume or try a different version than the
>>>>>>> default without being told to. If you want to try 2012, you need to tell
>>>>>>> configure using --with-toolchain-version=2012. No need to specify tools dir
>>>>>>> as long as it's installed in the default location.
>>>>>>>
>>>>>>>> On a related note, is it possible to update the build requirements
>>>>>>>> to work
>>>>>>>> with VS 2017? OpenJFX already uses this version.
>>>>>>>>
>>>>>>> This will likely happen in JDK 11 time frame. Note though that
>>>>>>> changing compilers is usually a pretty big effort so it will take a while.
>>>>>>>
>>>>>>> /Erik
>>>>>>>
>>>>>>>> - Nir
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>