[External] : Re: building the JDK on Windows using Cygwin

Chen Liang chen.l.liang at oracle.com
Sun Jul 7 03:19:50 UTC 2024


Yep, I think windows kits is required. Otherwise I think problem is in vcvars bat.

Get Outlook for Android<https://aka.ms/AAb9ysg>
________________________________
From: Anil <1dropaflame at gmail.com>
Sent: Saturday, July 6, 2024 6:42:45 PM
To: Chen Liang <chen.l.liang at oracle.com>
Cc: build-dev at openjdk.org <build-dev at openjdk.org>
Subject: Re: [External] : Re: building the JDK on Windows using Cygwin

Thank you for sharing your config.log
I do not see the "contains spaces" errors in yours.
...
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/shared' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/winrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/cppwinrt' contains space
....

As Erik suggested, I searched for how to set shortnames and:

C:\PROGRA~1>fsutil 8dot3name query C:
The volume state is: 0 (8dot3 name creation is ENABLED)
The registry state is: 1 (8dot3 name creation is DISABLED on all volumes)

Based on the above settings, 8dot3 name creation is DISABLED on "C:"

C:\PROGRA~1>FSUTIL 8dot3name set 0
The registry state is now: 0 (Enable 8dot3 name creation on all volumes).
C:\PROGRA~1>fsutil 8dot3name query C:
The volume state is: 0 (8dot3 name creation is ENABLED)
The registry state is: 0 (8dot3 name creation is ENABLED on all volumes)

Based on the above settings, 8dot3 name creation is ENABLED on "C:"

I uninstalled VS, deleted the folder in Program Files, downloaded VS, ran the installer, ensured that
Desktop Applications for C++ was checked (and no other were checked).
Then I tried again.

configure: Found Visual Studio installation at /cygdrive/c/progra~1/micros~1/2022/Community using well-known name
configure: Found Microsoft Visual Studio 2022
configure: Trying to extract Visual Studio environment variables for x86_64
configure: using /cygdrive/c/progra~1/micros~1/2022/Community/vc/auxiliary/build/vcvars64.bat
configure: Setting extracted environment variables for x86_64
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~1/microsoft sql server/150/tools/binn' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/window~1' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/100226~1.0/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/x64' contains space
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~1/microsoft sql server/150/tools/binn' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/window~1' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/100226~1.0/ucrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/100226~1.0/um' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/100226~1.0/shared' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/100226~1.0/winrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/100226~1.0/cppwinrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/100226~1.0/ucrt/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/100226~1.0/um/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
checking that Visual Studio variables have been correctly extracted... ok
checking for cl... $FIXPATH /cygdrive/c/progra~1/micros~1/2022/commun~1/vc/tools/msvc/1440~1.338/bin/hostx64/x64/cl.exe
checking resolved symbolic links for CC... no symlink
configure: Using microsoft C compiler version 19.40.33811 [Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33811 for x64]
checking whether the C compiler works... no
configure: error: in '/cygdrive/c/users/anil/OpenJDK/jdk':
configure: error: C compiler cannot create executables
See 'config.log' for more details
configure exiting with result code 77

Is "windows kits" a required component? (the fixpath failure).
Why does it say "C compiler cannot create executables"

My config.log is attached.

Anil


On Fri, Jul 5, 2024 at 5:33 PM Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>> wrote:
Thanks Anil! This log is extremely helpful.
It seems that variable extraction for you is broken. My checking C compiler command line looks like:
configure:86563: /cygdrive/c/java/cf-apis/open/build/windows-x86_64-server-release/fixpath exec /cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/bin/hostx64/x64/cl.exe   -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/include -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/atlmfc/include -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/auxili~1/vs/include -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/ucrt -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/um -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/shared -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/winrt -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/cppwinrt   -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/include -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/atlmfc/include -I/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/auxili~1/vs/include -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/ucrt -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/um -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/shared -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/winrt -I/cygdrive/c/progra~2/wi3cf2~1/10/include/100226~1.0/cppwinrt  conftest.c  -link   -libpath:/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/atlmfc/lib/x64 -libpath:/cygdrive/c/progra~1/mib055~1/2022/commun~1/vc/tools/msvc/1440~1.338/lib/x64 -libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100226~1.0/ucrt/x64 -libpath:/cygdrive/c/progra~2/wi3cf2~1/10/lib/100226~1.0/um/x64  >&5
While yours is just 4 consecutive

-I -I -I -I
in the middle.

I think your vcvars64.bat or such might be broken, as that's where configure pulls variables. You can try uninstalling visual studio completely and reinstalling it, I guess.

I have attached a sample of my successful configure log; hope it can help you diagnose.

Regards, Chen

________________________________
From: Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>>
Sent: Friday, July 5, 2024 5:13 PM
To: Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>>
Cc: build-dev at openjdk.org<mailto:build-dev at openjdk.org> <build-dev at openjdk.org<mailto:build-dev at openjdk.org>>
Subject: Re: [External] : Re: building the JDK on Windows using Cygwin

please find attached, my config.log

On Fri, Jul 5, 2024 at 4:48 PM Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>> wrote:
Can you share your config.log then, as I can't reproduce your problem? Or try uninstall and reinstall visual studio.

Get Outlook for Android<https://urldefense.com/v3/__https://aka.ms/AAb9ysg__;!!ACWV5N9M2RV99hQ!KHD1nvS8m4momd5iltdwexMSeaEKRfm5VCzqpURxxVfjSNaFwy1GEAsCecRvlRfTQHEt8fFl7NPu6l8nmZ1COCE$>
________________________________
From: Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>>
Sent: Friday, July 5, 2024 4:45:54 PM
To: Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>>
Cc: build-dev at openjdk.org<mailto:build-dev at openjdk.org> <build-dev at openjdk.org<mailto:build-dev at openjdk.org>>
Subject: Re: [External] : Re: building the JDK on Windows using Cygwin

$ bash configure

I got the same error as before. see below. Did you get these " fixpath: failure ...   contains space  " errors?

configure: Setting extracted environment variables for x86_64
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/windows performance toolkit' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/micros~3/2022/community/common7/ide/commonextensions/microsoft/teamfoundation/team explorer' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/micros~3/2022/community/team tools/diagnosticshub/collector' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/10.0.22621.0/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/x64' contains space
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/windows performance toolkit' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/ucrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/um' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/shared' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/winrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/cppwinrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/10.0.22621.0/ucrt/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/10.0.22621.0/um/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
checking that Visual Studio variables have been correctly extracted... ok
checking for cl... $FIXPATH /cygdrive/c/progra~1/micros~3/2022/community/vc/tools/msvc/14.40.33807/bin/hostx64/x64/cl.exe
checking resolved symbolic links for CC... no symlink
configure: Using microsoft C compiler version 19.40.33811 [Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33811 for x64]
checking whether the C compiler works... no
configure: error: in '/cygdrive/c/users/anil/OpenJDK/jdk':
configure: error: C compiler cannot create executables
See 'config.log' for more details
configure exiting with result code 77


On Fri, Jul 5, 2024 at 3:56 PM Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>> wrote:
Hmm, can you try without "--with-toolchain-path" flag? I did just "bash configure" which worked for me.
________________________________
From: Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>>
Sent: Friday, July 5, 2024 3:50 PM
To: Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>>
Cc: build-dev at openjdk.org<mailto:build-dev at openjdk.org> <build-dev at openjdk.org<mailto:build-dev at openjdk.org>>
Subject: [External] : Re: building the JDK on Windows using Cygwin

Here is the screenshot of my Installer - same version of VS as yours.

[image.png]

On Fri, Jul 5, 2024 at 3:40 PM Chen Liang <chen.l.liang at oracle.com<mailto:chen.l.liang at oracle.com>> wrote:
To solve this, I have uninstalled VS, reinstalled VS community 2022 17.10.3, selected "Desktop development with C++", which looks like in the attached screenshot.

After a fresh reinstallation like this, my "bash configure" then succeeds; it failed to find vs before the installation. Can you try following the steps I take, or at least compare your installation details selection to mine?
  [cid:ii_19088d6fd16cb971f161]
________________________________
From: build-dev <build-dev-retn at openjdk.org<mailto:build-dev-retn at openjdk.org>> on behalf of Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>>
Sent: Friday, July 5, 2024 2:57 PM
To: Chen Liang <liangchenblue at gmail.com<mailto:liangchenblue at gmail.com>>
Cc: build-dev at openjdk.org<mailto:build-dev at openjdk.org> <build-dev at openjdk.org<mailto:build-dev at openjdk.org>>
Subject: Re: building the JDK on Windows using Cygwin

[Chen] "try uncheck and recheck the box"

How will that help?
Following your suggestion, I ran the Installer, then I unchecked the "Desktop Components for C++" box and it says -6.81Gb
That shows it was installed.
Now I check the box again, and it says 0 Gb.
Now the Close button is enabled.
So No action is taken.


On Fri, Jul 5, 2024 at 2:03 PM Chen Liang <liangchenblue at gmail.com<mailto:liangchenblue at gmail.com>> wrote:

try uncheck and recheck the box. some optional components are required for jdk, and uncheck and recheck will select those components if they aren't already selected.

On Fri, Jul 5, 2024, 12:17 PM Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>> wrote:
When I installed VS, I ensured that Desktop Development with C++ was checked.
I ran the installer again, and it shows as checked and since the "Modify" button is not enabled, but "Close" is enabled, it means that it is already installed.
It is the only box checked.


On Fri, Jul 5, 2024 at 11:50 AM Chen Liang <liangchenblue at gmail.com<mailto:liangchenblue at gmail.com>> wrote:

Hi Anil, I had encountered the same problem before. Can you try install VS's desktop development with c++ with its default selection? Last time I unchecked some boxes and failed like you did. I don't think other big components are required for jdk.

On Fri, Jul 5, 2024, 11:46 AM Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>> wrote:
Over the past few days, I have tried a lot of things.
I reinstalled Cygwin. I used Git for Windows instead of Cygwin Git.
I uninstalled and reinstalled Visual Studio and in different locations, but it didn't fix it.
I added my user name to the Administrator Group account because one post said that is why I get access denied error but it still failed.
I set it back to being an ordinary user and now shortnames worked
I think the solution was simply to sign out of the Windows account so that processes accessing PROGRA~1 would be stopped.
:) I am glad to be over that hurdle but now I see:

$ bash configure --enable-debug --with-toolchain-path=/cygdrive/c/PROGRA~1/MICROS~3/2022/Community/VC/Tools/MSVC/14.40.33807/bin/Hostx64/x64
configure: Using default toolchain microsoft (Microsoft Visual Studio)
configure: Found Visual Studio installation at /cygdrive/c/progra~1/micros~3/2022/Community using well-known name
configure: Found Microsoft Visual Studio 2022
configure: Trying to extract Visual Studio environment variables for x86_64
configure: using /cygdrive/c/progra~1/micros~3/2022/Community/vc/auxiliary/build/vcvars64.bat
configure: Setting extracted environment variables for x86_64
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/windows performance toolkit' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/micros~3/2022/community/common7/ide/commonextensions/microsoft/teamfoundation/team explorer' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/micros~3/2022/community/team tools/diagnosticshub/collector' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/10.0.22621.0/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/bin/x64' contains space
fixpath: warning: Path '/cygdrive/c/minikube' does not exist
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/windows performance toolkit' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/mysql/mysql shell 8.0/bin' contains space
fixpath: failure: Path '/cygdrive/c/users/anil/appdata/local/programs/microsoft vs code/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~1/jetbrains/intellij idea community edition 2022.2.3/bin' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/ucrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/um' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/shared' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/winrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/include/10.0.22621.0/cppwinrt' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/10.0.22621.0/ucrt/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/lib/10.0.22621.0/um/x64' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
fixpath: failure: Path '/cygdrive/c/progra~2/windows kits/10/' contains space
checking that Visual Studio variables have been correctly extracted... ok
checking for cl... $FIXPATH /cygdrive/c/progra~1/micros~3/2022/community/vc/tools/msvc/14.40.33807/bin/hostx64/x64/cl.exe
checking resolved symbolic links for CC... no symlink
configure: Using microsoft C compiler version 19.40.33811 [Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33811 for x64]
checking whether the C compiler works... no
configure: error: in '/cygdrive/c/users/anil/OpenJDK/jdk':
configure: error: C compiler cannot create executables
See 'config.log' for more details
configure exiting with result code 77

I have attached my config.log
appreciate any help.
thanks,
Anil


On Wed, Jul 3, 2024 at 9:13 AM Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>> wrote:
Thank you.
Yes, the vcvars file is present in that folder.

$ cygpath -d "C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\Build"
cygpath: cannot create short name of C:\Program Files\Microsoft VisualStudio\2022\Community\VC\Auxiliary\Build



On Wed, Jul 3, 2024 at 2:57 AM Daniel Jeliński <djelinski1 at gmail.com<mailto:djelinski1 at gmail.com>> wrote:
Hi Anil,
Can you check what the following command prints on your machine?
$ cygpath -d "C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\Build"

I assume you have this directory on your machine, and it contains a
file named "vcvars64.bat"

The above command should print a path without spaces. If the command
fails or there are any spaces in the output, that's where you should
focus your search.

The other thing to check is if you have a case-sensitive file system.
Configure looks for file named (note lowercase in the last 3
directories):
"C:\Program Files\Microsoft Visual
Studio\2022\Community\vc\auxiliary\build\vcvars64.bat"

and from the logs you provided it looks like that file can't be found.

By the way, the above paths were used when I started configure with:
$ bash configure --with-tools-dir="C:\Program Files\Microsoft Visual
Studio\2022\Community\VC\Auxiliary\Build"

..and on my machine that configure command succeeded.
Regards,
Daniel

wt., 2 lip 2024 o 23:16 Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>> napisał(a):
>
> trimming earlier message as it was over 500Kb with attachment. Including configure.log
>
>
> On Tue, Jul 2, 2024 at 2:00 PM Anil <1dropaflame at gmail.com<mailto:1dropaflame at gmail.com>> wrote:
>>
>> Thank you.
>> I have attached both config.log and configure.log to this email.
>> Anil
>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20240707/ff834fe1/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 93485 bytes
Desc: image.png
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20240707/ff834fe1/image-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 135195 bytes
Desc: image.png
URL: <https://mail.openjdk.org/pipermail/build-dev/attachments/20240707/ff834fe1/image-0003.png>


More information about the build-dev mailing list