RFR: 8257679: Improved unix compatibility layer in Windows build (winenv) [v4]

Jorn Vernee jvernee at openjdk.java.net
Fri Dec 4 14:25:13 UTC 2020


On Fri, 4 Dec 2020 12:45:57 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:

>> Ok, it seems to have been caused by `usr/local/bin` being added to my Cygwin PATH in .bash_profile. If I remove that I get a little further.
>> 
>> But the same command fails later on a path with a space in it:
>> 
>> fixpath: failure: Path '/cygdrive/c/progra~2/ati technologies/ati.ace/core-static' contains space
>> 
>> Looks like a missing short/8dot3 path for one directory. I'll try to get it working on my end. I'll take further questions offline to keep this thread focused on the review.
>
> @JornVernee I have now pushed a fix that will make `fixpath import` ignore invalid or unknown paths be ignored. Please try again with it.

@magicus Thanks! But, now I get the same error as the GH action: https://github.com/magicus/openjdk-sandbox/runs/1498822974#step:11:80

Looks like `-a` is not supported in my shell. I can make the error go away locally with:

diff --git a/make/scripts/fixpath.sh b/make/scripts/fixpath.sh
index ae5ca1f8a28..c7737a23eb8 100644
--- a/make/scripts/fixpath.sh
+++ b/make/scripts/fixpath.sh
@@ -207,7 +207,7 @@ function import_command_line() {
     if ! [[ $arg =~ ^" "+$ ]]; then
       import_path "$arg"

-      if [[ "$result" != "" -a "$imported" = "" ]]; then
+      if [[ "$result" != "" ]] && [[ "$imported" = "" ]]; then
         imported="$result"
       else
         imported="$imported:$result"
But I'm not sure that does the same thing.

After that, I can confirm that both path issues with Cygwin are resolved (`usr\local\bin` and paths with spaces don't cause a hard failure anymore).

---

The issue with WSL still remains though:

configure: Found potential Boot JDK using configure arguments
configure: Potential Boot JDK found at /mnt/c/Program Files/Java/jdk-15 is not a working JDK; ignoring
configure: Output from java -version was: /mnt/h/cygwin64/home/Jorn/cygwin-projects-new/git-jdk2/build/.configure-support/generated-configure.sh: line 57167: -version: command not found
configure: error: The path given by --with-boot-jdk does not contain a valid Boot JDK
configure exiting with result code 1

Line 57167 in generated-configure.sh is this:

    # Now join together the path and the arguments once again
    new_complete="$prefix$new_path$arguments"

-------------

PR: https://git.openjdk.java.net/jdk/pull/1597



More information about the build-dev mailing list