Make sure all visual studio and related processes running in that directory are terminated. If you have trouble you might restart windows in safe mode.
Also for configure/make, never pass paths with spaces, always use short name to avoid space, use /cygdrive/c/..., and never pass backslashes. That fixes a lot of bugs. On Mon, Jul 1, 2024, 8:55 PM Anil <1dropafl...@gmail.com> wrote: > 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 >>>>>>>>>>> >>>>>>>>>>>