bash configure fails on missing VS tools dir

Erik Joelsson erik.joelsson at oracle.com
Thu Jan 4 08:29:25 UTC 2018


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 
> <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> 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
>>     <erik.joelsson at oracle.com <mailto:erik.joelsson at oracle.com>> 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
>>
>>
>>
>
>



More information about the build-dev mailing list