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