RFR: 8258925: configure script failed on WSL
Yasumasa Suenaga
ysuenaga at openjdk.java.net
Fri Jan 8 12:33:56 UTC 2021
On Fri, 8 Jan 2021 07:34:03 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
>> I ran configure script on WSL 1, but it failed as below:
>>
>> $ bash configure --enable-debug --with-boot-jdk=/mnt/d/Java/jdk-15.0.1
>>
>> :
>>
>> configure: Found potential Boot JDK using configure arguments
>> configure: The command for java_to_test, which resolves as "/mnt/d/Java/jdk-15.0.1/bin/java", can not be found.
>> configure: error: Cannot locate /mnt/d/Java/jdk-15.0.1/bin/java
>> configure exiting with result code 1
>>
>> `fixpath.sh` attempts to run `$PATHTOOL` with `.exe` if it fails with original path, but `.exe` would not be added even if `$path.exe` exists.
>
>> Sorry but how does this:
>>
>> winpath="$($PATHTOOL -w "$path.exe" 2>/dev/null)"
>>
>> not add the .exe extension?
>
> Yes, but `$path` is finally to use, not `$winpath`.
> https://github.com/openjdk/jdk/blob/712014c5956cf74982531d212b03460843e4e5b6/make/scripts/fixpath.sh#L165-L166
> > > Sorry but how does this:
> > > winpath="$($PATHTOOL -w "$path.exe" 2>/dev/null)"
> > > not add the .exe extension?
> >
> >
> > Yes, but `$path` is finally to use, not `$winpath`.
> > https://github.com/openjdk/jdk/blob/712014c5956cf74982531d212b03460843e4e5b6/make/scripts/fixpath.sh#L165-L166
>
> Exactly my point. Shouldn't this:
>
> # Make it lower case
> path="$(echo "$path" | tr [:upper:] [:lower:])"
>
> be:
>
> # Make it lower case
> path="$(echo "$winpath" | tr [:upper:] [:lower:])"
>
> ?
No, `path` points unix path, on the other hand, `winpath` points windows path.
For example:
* path
* /mnt/c/java/jdk-15.0.1/bin/java.exe
* winpath
* C:\Java\jdk-15.0.1\bin\java.exe
However I think we can simplify this change based on `winpath`. How about new change?
-------------
PR: https://git.openjdk.java.net/jdk/pull/1889
More information about the build-dev
mailing list