Hi Anil, I can confirm that building on Windows 11 + cygwin + VS 2022 Community installed with default settings and in the default location works just fine without any extra command line parameters. The only parameter you need is --with-boot-jdk, and even that can be omitted if you have the right Java version on path. Can you try that? If it still fails, please post the config.log file, it should be under build/windows*/configure-support. Regards, Daniel
wt., 2 lip 2024 o 03:55 Anil <1dropafl...@gmail.com> napisał(a): > > 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 >>>>>>>>>>> >>>>>>>>>>> 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 >>>>>>>>>>>