Thank you for your reply.
I ran the Visual Studio Setup and installed both Build Tools 2019, and also
Visual Studio 2022.
I enabled the checkboxes in *both* for Desktop Development with C++.

I tried it but failed. I opened Administrator window in both Powershell and
CMD but both gave "Access is denied"

PS C:\WINDOWS\system32> cd 'C:\Program Files\'
PS C:\Program Files> fsutil file setshortname "Microsoft Visual Studio"
MICROS~3
Error:  Access is denied.
PS C:\Program Files>

Someone else suggested
$ bash configure --enable-debug --with-toolchain-path="C:\\Program
Files\\Microsoft Visual
Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\Hostx64\\x64"
--with-toolchain-version=2022
and also without
$ bash configure --enable-debug --with-toolchain-path="C:\\Program
Files\\Microsoft Visual
Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\Hostx64\\x64"
and also with 2019
$ bash configure --enable-debug --with-toolchain-path="C:\\Program
Files\\Microsoft Visual
Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.40.33807\\bin\\Hostx64\\x64"
--with-toolchain-version=2019

all give error:

configure: Using default toolchain microsoft (Microsoft Visual Studio)
configure: error: Cannot locate a valid Visual Studio installation
configure exiting with result code 1




On Mon, Jul 1, 2024 at 7:53 PM Chen Liang <liangchenb...@gmail.com> wrote:

> Hi Anil,
> I will share how I set up Visual Studio 2022 (2019 is a bit old now) for
> building JDK.
> First, I go to https://visualstudio.microsoft.com to download the visual
> studio setup (which installs an installer)
> Once in the installer, go to visual studio, and select "Desktop
> Development with C++" which will install everything you need.
>
> In your "C:\Program Files" (or C:\PROGRA~1) open administrator powershell
> (you can do it by right-clicking on win start menu icon) run:
> fsutil file setshortname "Microsoft Visual Studio" MICROS~3
> This is the only directory that really need short path; the rest of the
> path to cl already has no space.
>
> And yes, I am using Windows11+cygwin to build openjdk. I think you already
> have 8dot3name enabled so you can see PROGRA~1, you shouldn't be far.
>
> On Mon, Jul 1, 2024 at 2:31 PM Anil <1dropafl...@gmail.com> wrote:
>
>> [Erik] " You could try enabling 8dot3name on the whole volume (C:) using
>> fsutil [1],  "
>> I don't know what this means and the side effects. I don't want to try
>> this on the entire C:
>> There must be people using Windows11 and Cygwin64 who have gotten OpenJDK
>> to build?
>>
>> On Mon, Jul 1, 2024 at 1:59 AM <erik.joels...@oracle.com> wrote:
>>
>>> Hello Anil,
>>> On 6/30/24 12:50, Anil wrote:
>>>
>>> I went into the VC.../bin directory to get the actual path and tried
>>> again, but it failed.
>>>
>>> $ bash configure --with-boot-jdk=/c/Users/Anil/OpenJDK/jdk-22.0.1
>>> --enable-debug --with-tools-dir="C:\PROGRA~2\Microsoft Visual
>>> Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin"
>>>
>>> The OpenJDK build cannot handle paths with spaces in them, and on
>>> Windows, where the default installation directories of things like Visual
>>> Studio and the SDK have spaces in the directory names, we rely on short
>>> paths to work around this. If you installed Visual Studio in the default
>>> location, you should not need to point to a tools dir, and doing so won't
>>> help if the paths can't be expressed without spaces in them. It's annoying
>>> that Windows seems to have turned off short path generation by default in
>>> later versions.
>>>
>>> You could try enabling 8dot3name on the whole volume (C:) using fsutil
>>> [1], but you probably need to reinstall Visual Studio after that to get the
>>> short path names generated for all the directories in the installation.
>>>
>>> /Erik
>>>
>>> [1]
>>> https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-8dot3name
>>>
>>> configure: Using default toolchain microsoft (Microsoft Visual Studio)
>>> 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
>>>
>>>
>>> On Sun, Jun 30, 2024 at 2:07 PM Anil <1dropafl...@gmail.com> wrote:
>>>
>>>> Thank you for your reply.
>>>> I tried without those flags and got the same error message
>>>> $ bash configure --with-boot-jdk=/c/Users/Anil/OpenJDK/jdk-22.0.1
>>>> ...
>>>> configure: Using default toolchain microsoft (Microsoft Visual Studio)
>>>> configure: error: Cannot locate a valid Visual Studio installation
>>>> configure exiting with result code 1
>>>>
>>>> checking the shortnames.
>>>>
>>>> C:\>dir /x
>>>> Directory of C:\
>>>> 06/29/2024  09:43 PM    <DIR>          PROGRA~1     Program Files
>>>> 03/01/2024  06:34 PM    <DIR>          PROGRA~2     Program Files (x86)
>>>>
>>>> Directory of C:\PROGRA~1
>>>> C:\PROGRA~1>dir /x
>>>> 06/29/2024  09:43 PM    <DIR>                       Microsoft Visual
>>>> Studio
>>>>
>>>> Directory of C:\PROGRA~2
>>>> C:\PROGRA~2>dir /x
>>>> 06/29/2024  09:41 PM    <DIR>          Microsoft Visual Studio
>>>>
>>>> I don't see any shortnames set.
>>>>
>>>> In the Visual Studio Installer, both Visual Studio Build Tools 2019 and
>>>> Visual Studio Community are set.
>>>> When I click on the Build Tools, I see the checkbox for Desktop C++ is
>>>> checked.
>>>>
>>>>
>>>> I saw that the C++
>>>>
>>>>
>>>>
>>>> On Sun, Jun 30, 2024 at 1:24 PM Chen Liang <liangchenb...@gmail.com>
>>>> wrote:
>>>>
>>>>> Usually Microsoft Visual Studio c compiler (as installed by Visual
>>>>> Studio installer) already has short names set. It seems the short name has
>>>>> to be 8 characters in length and you can't set it when some process is
>>>>> running in that directory. You can check the short path in Windows
>>>>> cmd's "dir /x" command. And try configure without --with-toolchain-version
>>>>> and --with-tools-dir and only set these flags if it fails without those
>>>>> flags: you declare version is 22 but you point to MSVC 2019's directory,
>>>>> and you should point to the bin directory within the VC directory.
>>>>>
>>>>> On Sun, Jun 30, 2024 at 12:57 PM Anil <1dropafl...@gmail.com> wrote:
>>>>>
>>>>>> Update:
>>>>>> I was able to get past the error
>>>>>> I installed Visual Studio 2022, rebooted, but it still cannot detect
>>>>>> it.
>>>>>>
>>>>>> PS C:\> fsutil file setshortname "Program Files (x86)" PROGRA~1
>>>>>> Error:  Access is denied.
>>>>>>
>>>>>> PS C:\Program Files (x86)> fsutil file setshortname  "Microsoft
>>>>>> Visual Studio"  Microsoft_Visual_Studio_2019
>>>>>> Error:  The parameter is incorrect.
>>>>>>
>>>>>> $ bash configure --with-boot-jdk=/c/Users/Anil/OpenJDK/jdk-22.0.1
>>>>>> --with-toolchain-version=2022 --enable-debug --with-tools-dir="C:\Program
>>>>>> Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC"
>>>>>>
>>>>>> configure: Using default toolchain microsoft (Microsoft Visual Studio)
>>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Jun 28, 2024 at 8:50 PM Anil <1dropafl...@gmail.com> wrote:
>>>>>>
>>>>>>> (changed Subject line. was: Is anyone able to build the JDK on
>>>>>>> Windows using VirtualBox to host Ubuntu?)
>>>>>>>
>>>>>>> I downloaded and unzipped openjdk.
>>>>>>> $ ls
>>>>>>> jdk  jdk-22.0.1  openjdk-22.0.1_windows-x64_bin.zip
>>>>>>>
>>>>>>> but still I get the same error message
>>>>>>>
>>>>>>> configure: Could not find a valid Boot JDK. OpenJDK distributions
>>>>>>>> are available at http://jdk.java.net/.
>>>>>>>> configure: This might be fixed by explicitly setting --with-boot-jdk
>>>>>>>> configure: error: Cannot continue
>>>>>>>> configure exiting with result code 1
>>>>>>>
>>>>>>>
>>>>>>> I am wondering if I should *not *install the Open JDK in the
>>>>>>> directory created by Cygwin (/c/Users/Anil/OpenJDK) but install it in 
>>>>>>> the
>>>>>>> /cygdrive Windows folders?
>>>>>>> (I observe that the folder created in Cygwin is not visible outside,
>>>>>>> in Windows even after rebooting the laptop).
>>>>>>> Can someone please confirm?
>>>>>>> thanks,
>>>>>>> Anil
>>>>>>>
>>>>>>>
>>>>>>> On Fri, Jun 28, 2024 at 6:48 PM Anil <1dropafl...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Thank you. I installed Cygwin on my Windows 11 laptop, and after
>>>>>>>> overcoming some minor blocks, ran 'bash configure'.
>>>>>>>> Am I correct in assuming that I also need to have Open JDK
>>>>>>>> installed, not the Oracle JDK?
>>>>>>>> I have Java 17 from Oracle installed.
>>>>>>>>
>>>>>>>> configure: Found potential Boot JDK using JAVA_HOME
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/jdk-17.0.4.1 is); ignoringot(TM) 64-Bit 
>>>>>>>> Server VM
>>>>>>>> (build 17.0.4.1+1-LTS-2, mixed mode, sharing)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> checking for javac...
>>>>>>>> /cygdrive/c/progra~1/common~1/oracle/java/javapath/javac.exe
>>>>>>>> checking for java...
>>>>>>>> /cygdrive/c/progra~1/common~1/oracle/java/javapath/java.exe
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/jdk-17.0.4.1)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/jdk-17.0.4.1 is); ignoringot(TM) 64-Bit 
>>>>>>>> Server VM
>>>>>>>> (build 17.0.4.1+1-LTS-2, mixed mode, sharing)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/jdk-11.0.10)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/jdk-11.0.10 is ); ignoringot(TM) 64-Bit 
>>>>>>>> Server VM
>>>>>>>> 18.9 (build 11.0.10+8-LTS-162, mixed mode)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/javafx-sdk-11.0.2)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/javafx-sdk-11.0.2 did not contain bin/java;
>>>>>>>> ignoring
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/jdk-17.0.4.1)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/jdk-17.0.4.1 is); ignoringot(TM) 64-Bit 
>>>>>>>> Server VM
>>>>>>>> (build 17.0.4.1+1-LTS-2, mixed mode, sharing)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/jdk-11.0.10)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/jdk-11.0.10 is ); ignoringot(TM) 64-Bit 
>>>>>>>> Server VM
>>>>>>>> 18.9 (build 11.0.10+8-LTS-162, mixed mode)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/progra~1/java/javafx-sdk-11.0.2)
>>>>>>>> configure: Potential Boot JDK found at
>>>>>>>> /cygdrive/c/progra~1/java/javafx-sdk-11.0.2 did not contain bin/java;
>>>>>>>> ignoring
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/Program Files/Java/jdk-17.0.4.1)
>>>>>>>> configure: Potential Boot JDK found at /cygdrive/c/Program
>>>>>>>> Files/Java/jdk-17.0.4); ignoringot(TM) 64-Bit Server VM (build
>>>>>>>> 17.0.4.1+1-LTS-2, mixed mode, sharing)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/Program Files/Java/jdk-11.0.10)
>>>>>>>> configure: Potential Boot JDK found at /cygdrive/c/Program
>>>>>>>> Files/Java/jdk-11.0.1); ignoringot(TM) 64-Bit Server VM 18.9 (build
>>>>>>>> 11.0.10+8-LTS-162, mixed mode)
>>>>>>>> configure: (Your Boot JDK version must be one of: 22 23 24)
>>>>>>>> configure: Found potential Boot JDK using well-known locations (in
>>>>>>>> /cygdrive/c/Program Files/Java/javafx-sdk-11.0.2)
>>>>>>>> configure: Potential Boot JDK found at /cygdrive/c/Program
>>>>>>>> Files/Java/javafx-sdk-11.0.2 did not contain bin/java; ignoring
>>>>>>>> configure: Could not find a valid Boot JDK. OpenJDK distributions
>>>>>>>> are available at http://jdk.java.net/.
>>>>>>>> configure: This might be fixed by explicitly setting --with-boot-jdk
>>>>>>>> configure: error: Cannot continue
>>>>>>>> configure exiting with result code 1
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Jun 27, 2024 at 9:06 AM <erik.joels...@oracle.com> wrote:
>>>>>>>>
>>>>>>>>> Hello Anil,
>>>>>>>>>
>>>>>>>>> Building in a VM on a laptop should be doable, but given how
>>>>>>>>> resource intensive the JDK build is, you could run into problems like 
>>>>>>>>> you
>>>>>>>>> describe. You are most likely to get the best build performance 
>>>>>>>>> running
>>>>>>>>> natively on the machine and OS you have, so my recommendation is to 
>>>>>>>>> build
>>>>>>>>> for Windows in your case. If you still prefer to build for Linux, I 
>>>>>>>>> think
>>>>>>>>> the best option is to use WSL. See doc/building.md for instructions 
>>>>>>>>> on how
>>>>>>>>> to build for Linux in WSL. To build for Windows, I recommend 
>>>>>>>>> installing
>>>>>>>>> Cygwin as the most straightforward and well tested option for a POSIX
>>>>>>>>> support layer on Windows. Once installed, you won't need to run any 
>>>>>>>>> Windows
>>>>>>>>> commands as Cygwin emulates a Linux/Unix environment. Again see
>>>>>>>>> doc/building.md for instructions on how to install a build 
>>>>>>>>> environment on
>>>>>>>>> Windows.
>>>>>>>>>
>>>>>>>>> /Erik
>>>>>>>>> On 6/27/24 04:51, Anil wrote:
>>>>>>>>>
>>>>>>>>> I want to try out a small contribution to the JDK and want to
>>>>>>>>> build the JDK first.
>>>>>>>>> I have a Windows 11 laptop.
>>>>>>>>>
>>>>>>>>> I am not comfortable with the Windows commands and someone
>>>>>>>>> mentioned in this forum that most of the building is done on Linux.
>>>>>>>>> So I installed VirtualBox 7.0.18 and Ubuntu 24.04. however I was
>>>>>>>>> getting black screens and freezing. I downgraded the Ubuntu to 222.04 
>>>>>>>>> and
>>>>>>>>> still got black screens. I don't know why this is happening.
>>>>>>>>> Any advice appreciated.
>>>>>>>>> Anil
>>>>>>>>>
>>>>>>>>> On Tue, Jun 18, 2024, 7:25 PM Anil <1dropafl...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hello,
>>>>>>>>>> I want to try out a small contribution to the JDK and wanted to
>>>>>>>>>> build the JDK first,
>>>>>>>>>> before I change the code.
>>>>>>>>>> I forked and cloned the jdk following the instructions at The
>>>>>>>>>> OpenJDK Developers' Guide – OpenJDK Developers’ Guide
>>>>>>>>>> <https://openjdk.org/guide/#cloning-the-jdk>
>>>>>>>>>>
>>>>>>>>>> I am on Windows 11.
>>>>>>>>>> These instructions are given on the page but I am unsure which of
>>>>>>>>>> these to execute since I have already forked and cloned the git repo
>>>>>>>>>>
>>>>>>>>>> $ wget 
>>>>>>>>>> https://download.java.net/java/GA/jdk16/7863447f0ab643c585b9bdebf67c69db/36/GPL/openjdk-16_linux-x64_bin.tar.gz
>>>>>>>>>> $ tar xzf openjdk-16_linux-x64_bin.tar.gz
>>>>>>>>>> $ sudo apt-get install autoconf zip make gcc g++ libx11-dev 
>>>>>>>>>> libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev 
>>>>>>>>>> libcups2-dev libfontconfig1-dev libasound2-dev
>>>>>>>>>> $ cd jdk
>>>>>>>>>> $ sh ./configure --with-boot-jdk=$HOME/jdk-16/
>>>>>>>>>> $ make images
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Do I still need to do the wget?
>>>>>>>>>> Also, I wondered if I should use book jdk-17 instead of jdk-16 as
>>>>>>>>>> in the instructions above.
>>>>>>>>>> thanks,
>>>>>>>>>> Anil
>>>>>>>>>>
>>>>>>>>>>

Reply via email to