Re: bash configure fails on missing VS tools dir

2018-01-04 Thread 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 <erik.joels...@oracle.com>
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 <erik.joels...@oracle.com>
> 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 <erik.joels...@oracle.com>
>> 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 <erik.joels...@o

Re: bash configure fails on missing VS tools dir

2018-01-04 Thread 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 <erik.joels...@oracle.com>
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 <erik.joels...@oracle.com>
> 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 <erik.joels...@oracle.com>
>> 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 <erik.joels...@oracle.com
>>> > wrote:
>>>
>>>> Can you run "autoconf --

Re: bash configure fails on missing VS tools dir

2018-01-04 Thread 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 <erik.joels...@oracle.com>
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 <erik.joels...@oracle.com>
> 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 <erik.joels...@oracle.com>
>> 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
>>>
>>> AU

Re: bash configure fails on missing VS tools dir

2018-01-04 Thread 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 <erik.joels...@oracle.com>
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 <erik.joels...@oracle.com>
> 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 <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>
>>> wrote:
>>>
>>>> Hello Nir,
>&

Re: bash configure fails on missing VS tools dir

2018-01-04 Thread 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 <erik.joels...@oracle.com>
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 <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>
>> 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 Vis

Re: bash configure fails on missing VS tools dir

2018-01-03 Thread 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 <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>
> 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 

Re: bash configure fails on missing VS tools dir

2018-01-03 Thread 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 <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
>>
>
>


bash configure fails on missing VS tools dir

2018-01-03 Thread 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


Re: bash configure fails on missing javah

2018-01-03 Thread Nir Lisker
Thanks, I used 9 as boot. It is definitely worthwhile to update the build
doc in this regard.

- Nir

On Wed, Jan 3, 2018 at 10:12 AM, Erik Joelsson <erik.joels...@oracle.com>
wrote:

> The build hasn't used javah in a long time, so the configure check for it
> is just a left over that we forgot to clean up. It should certainly be
> removed and we will be forced to do it once we switch to JDK 10 as boot jdk
> for 11.
>
> Note though that we will not switch to JDK 10 as boot for 11 until we have
> an actual release of 10. Until then, the boot JDK for the development of 11
> will remain as 9. In the past, this interim situation was pretty limited in
> time so we rarely had to deal with it. With the new release schedule, we
> are going to be in this situation a lot more, so the build documentation
> needs to be updated to explain this.
>
> /Erik
>
>
>
> On 2018-01-03 05:05, Martin Buchholz wrote:
>
>> I agree configure should not fail if javah is not found.  A high quality
>> configure test would first check if javac -h works, then fall back to
>> javah
>> if that works, regardless of the boot jdk's version.
>>
>> On Tue, Jan 2, 2018 at 6:33 AM, Nir Lisker <nlis...@gmail.com> wrote:
>>
>> I'm trying to build OpenJDK 11 as instructed here:
>>> http://hg.openjdk.java.net/jdk/jdk/raw-file/tip/doc/building.html.
>>>
>>> When executing `bash configure
>>> --with-import-modules=jfx_path\rt\build\modular-sdk`
>>> (I've build JavaFX) the build fails:
>>>
>>> checking for java in Boot JDK... ok
>>> checking for javac in Boot JDK... ok
>>> checking for javah in Boot JDK... not found
>>> configure: Your Boot JDK seems broken. This might be fixed by explicitly
>>> setting --with-boot-jdk
>>> configure: error: Could not find javah in the Boot JDK
>>> configure exiting with result code 1
>>>
>>> The boot JDK is 10, which does not have javah anymore, so it is no
>>> surprise. I could point boot JDK to a previous version, but I don't
>>> think I
>>> should need to. What I should do?
>>>
>>> Nir
>>>
>>>
>


bash configure fails on missing javah

2018-01-02 Thread Nir Lisker
I'm trying to build OpenJDK 11 as instructed here:
http://hg.openjdk.java.net/jdk/jdk/raw-file/tip/doc/building.html.

When executing `bash configure
--with-import-modules=jfx_path\rt\build\modular-sdk`
(I've build JavaFX) the build fails:

checking for java in Boot JDK... ok
checking for javac in Boot JDK... ok
checking for javah in Boot JDK... not found
configure: Your Boot JDK seems broken. This might be fixed by explicitly
setting --with-boot-jdk
configure: error: Could not find javah in the Boot JDK
configure exiting with result code 1

The boot JDK is 10, which does not have javah anymore, so it is no
surprise. I could point boot JDK to a previous version, but I don't think I
should need to. What I should do?

Nir