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