building the JDK on Windows using Cygwin
Daniel Jeliński
djelinski1 at gmail.com
Tue Jul 2 18:04:38 UTC 2024
Hi,
If you want to know a Windows path to the Cygwin directory you're in,
you can use the following command:
$ cygpath -w `pwd`
C:\cygwin64\home\anil
If you want to know a Cygwin path without spaces for a Windows
directory, you can use the following:
$ cygpath `cygpath -d 'C:\Program Files\Microsoft Visual Studio\2022\'`
/cygdrive/c/PROGRA~1/MICROS~4/2022/
note the cygdrive segment in front of the path.
Regards,
Daniel
wt., 2 lip 2024 o 17:59 Anil <1dropaflame at gmail.com> napisał(a):
>
> How do I find the config.log?
> The Cygwin folder is not visible from Windows File Explorer.
> C:\Users\Anil
> does not show
> /c/Users/Anil/OpenJDK/
>
>
> On Tue, Jul 2, 2024 at 10:52 AM Anil <1dropaflame at gmail.com> wrote:
>>
>> What does this mean? It is not clear enough.
>>
>>> Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.
>>
>>
>> jdk/doc/building.md at master · openjdk/jdk (github.com)
>>
>> I deleted the OpenJDK download
>>
>> $ ls
>> jdk jdk-22.0.1 openjdk-22.0.1_windows-x64_bin.zip
>>
>> anilr at ANIL-LAPTOP ~
>> $ rm -rf jdk-22.0.1/ openjdk-22.0.1_windows-x64_bin.zip
>>
>> anilr at ANIL-LAPTOP ~
>> $ cd jdk
>>
>> anilr at ANIL-LAPTOP ~/jdk
>> $ bash configure
>>
>> same error.
>> I went in to /etc/nsswitch.conf
>> and changed
>> db_home: /c/Users/Anil/OpenJDK
>> to
>> db_home: /c/Users/Anil/Documents/Projects
>> $ pwd
>> /c/Users/Anil/Documents/Projects
>>
>> anilr at ANIL-LAPTOP ~
>> $ cd ../../OpenJDK/jdk
>> anilr at ANIL-LAPTOP /c/Users/Anil/OpenJDK/jdk
>> $ bash configure
>> configure: error: Cannot locate a valid Visual Studio installation
>>
>>
>>
>> On Tue, Jul 2, 2024 at 9:35 AM Anil <1dropaflame at gmail.com> wrote:
>>>
>>> [Chen] "Also for configure/make, never pass paths with spaces, always use short name to avoid space, use /cygdrive/c/..., and never pass backslashes."
>>>
>>> Using the short name command produced "access denied". How did you use short name for Visual Studio?
>>>
>>> Update:
>>>
>>> While searching for the config.log file as Daniel advised, I found in build/windows-x86_64-server-release, a file: fixpath
>>> $ cat fixpath
>>>
>>> showed
>>>
>>> #!/bin/bash
>>> export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Python312/Scripts:/cygdrive/c/Python312:/cygdrive/c/Python311/Scripts:/cygdrive/c/Python311:/cygdrive/c/Python310/Scripts:/cygdrive/c/Python310:/cygdrive/c/Program Files/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/apache-maven-3.6.3/bin:/cygdrive/c/Program Files/TortoiseGit/bin:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/c/Program Files/dotnet:/cygdrive/c/minikube:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Docker/Docker/resources/bin:/cygdrive/c/Program Files/Java/jdk-17.0.4.1/bin:/cygdrive/c/Program Files/PowerShell/7:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/MySQL/MySQL Shell 8.0/bin:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39/Scripts:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39:/cygdrive/c/Users/Anil/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/Anil/AppData/Local/Programs/Microsoft VS Code/bin:/cygdrive/c/Program Files/JetBrains/IntelliJ IDEA Community Edition 2022.2.3/bin:/cygdrive/c/Users/Anil/AppData/Local/GitHubDesktop/bin:/cygdrive/c/Users/Anil/AppData/Roaming/npm"
>>> . /c/users/anil/openjdk/jdk/make/scripts/fixpath.sh -e /usr/bin/cygpath -p /cygdrive -r C:\\cygwin64 -t /tmp -c /cygdrive/c/WINDOWS/system32/cmd.exe -q "$@"
>>>
>>> I edited the file to put
>>>
>>> export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64:/cygdrive/c/Python312/Scripts:/cygdrive/c/Python312:/cygdrive/c/Python311/Scripts:/cygdrive/c/Python311:/cygdrive/c/Python310/Scripts:/cygdrive/c/Python310:/cygdrive/c/Program Files/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program
>>> ...
>>> After running bash configure again, I found the entry was erased!
>>>
>>> ~/jdk/build/windows-x86_64-server-release
>>> $ cat fixpath
>>> #!/bin/bash
>>> export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Python312/Scripts:/cygdrive/c/Python312:/
>>>
>>>
>>> so I get the same error
>>> configure: error: Cannot locate a valid Visual Studio installation
>>> configure exiting with result code 1
>>>
>>> I went in to Windows and added a new Environment Variable entry to Path for both User and System: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64
>>> I rebooted the machine.
>>>
>>> in ~/jdk/build/windows-x86_64-server-fastdebug
>>> $ cat fixpath
>>> #!/bin/bash
>>> export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Python312/Scripts:/cygdrive/c/Python312:/cygdrive/c/Python311/Scripts:/cygdrive/c/Python311:/cygdrive/c/Python310/Scripts:/cygdrive/c/Python310:/cygdrive/c/Program Files/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/apache-maven-3.6.3/bin:/cygdrive/c/Program Files/TortoiseGit/bin:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/c/Program Files/dotnet:/cygdrive/c/minikube:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Docker/Docker/resources/bin:/cygdrive/c/Program Files/Java/jdk-17.0.4.1/bin:/cygdrive/c/Program Files/PowerShell/7:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/MySQL/MySQL Shell 8.0/bin:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39/Scripts:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39:/cygdrive/c/Users/Anil/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/Anil/AppData/Local/Programs/Microsoft VS Code/bin:/cygdrive/c/Program Files/JetBrains/IntelliJ IDEA Community Edition 2022.2.3/bin:/cygdrive/c/Users/Anil/AppData/Local/GitHubDesktop/bin:/cygdrive/c/Users/Anil/AppData/Roaming/npm"
>>> . /c/users/anil/openjdk/jdk/make/scripts/fixpath.sh -e /usr/bin/cygpath -p /cygdrive -r C:\\cygwin64 -t /tmp -c /cygdrive/c/WINDOWS/system32/cmd.exe -q "$@"
>>>
>>> in ~/jdk/build/windows-x86_64-server-fastdebug
>>> $ ls ../windows-x86_64-server-release/fixpath
>>> ../windows-x86_64-server-release/fixpath
>>>
>>> in ~/jdk/build/windows-x86_64-server-fastdebug
>>> $ cat ../windows-x86_64-server-release/fixpath
>>> #!/bin/bash
>>> export PATH="$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Python312/Scripts:/cygdrive/c/Python312:/cygdrive/c/Python311/Scripts:/cygdrive/c/Python311:/cygdrive/c/Python310/Scripts:/cygdrive/c/Python310:/cygdrive/c/Program Files/Common Files/Oracle/Java/javapath:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/apache-maven-3.6.3/bin:/cygdrive/c/Program Files/TortoiseGit/bin:/cygdrive/c/Program Files/Git/cmd:/cygdrive/c/ProgramData/chocolatey/bin:/cygdrive/c/Program Files/dotnet:/cygdrive/c/minikube:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/WINDOWS/System32/WindowsPowerShell/v1.0:/cygdrive/c/WINDOWS/System32/OpenSSH:/cygdrive/c/Program Files/Docker/Docker/resources/bin:/cygdrive/c/Program Files/Java/jdk-17.0.4.1/bin:/cygdrive/c/Program Files/PowerShell/7:/cygdrive/c/Program Files/nodejs:/cygdrive/c/Program Files (x86)/Windows Kits/10/Windows Performance Toolkit:/cygdrive/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin:/cygdrive/c/Program Files/MySQL/MySQL Shell 8.0/bin:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39/Scripts:/cygdrive/c/Users/Anil/AppData/Local/Programs/Python/Python39:/cygdrive/c/Users/Anil/AppData/Local/Microsoft/WindowsApps:/cygdrive/c/Users/Anil/AppData/Local/Programs/Microsoft VS Code/bin:/cygdrive/c/Program Files/JetBrains/IntelliJ IDEA Community Edition 2022.2.3/bin:/cygdrive/c/Users/Anil/AppData/Local/GitHubDesktop/bin:/cygdrive/c/Users/Anil/AppData/Roaming/npm:/cygdrive/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.40.33807/bin"
>>> . /c/users/anil/openjdk/jdk/make/scripts/fixpath.sh -e /usr/bin/cygpath -p /cygdrive -r C:\\cygwin64 -t /tmp -c /cygdrive/c/WINDOWS/system32/cmd.exe -q "$@"
>>>
>>> I found that only the windows-x86_64-server-release/fixpath has taken the new entry.
>>> Is it a bug in the build system?
>>>
>>> running bash configure, I get the same error.
>>> configure: error: Cannot locate a valid Visual Studio installation
>>>
>>> Anil
>>>
>>>
>>>
>>> On Tue, Jul 2, 2024, 2:15 AM Chen Liang <liangchenblue at gmail.com> wrote:
>>>>
>>>> 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 <1dropaflame at 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 <liangchenblue at 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 <1dropaflame at 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.joelsson at 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 <1dropaflame at 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 <liangchenblue at 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 <1dropaflame at 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 <1dropaflame at 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 <1dropaflame at 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.joelsson at 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 <1dropaflame at 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
>>>>>>>>>>>>>>>
More information about the build-dev
mailing list