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.joels...@oracle.com <mailto:erik.joels...@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.joels...@oracle.com <mailto:erik.joels...@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