On Mon, 4 Jul 2022 22:32:20 GMT, Yasumasa Suenaga <ysuen...@openjdk.org> wrote:

>> configure failed as following when I run it on WSL 1.
>> 
>> 
>> checking for version string... 20-internal-adhoc.yasuenag.jdk
>> configure: Found potential Boot JDK using configure arguments
>> configure: The command for java_to_test, which resolves as 
>> "/mnt/d/java/jdk-18/bin/java", can not be found.
>> configure: error: Cannot locate /mnt/d/java/jdk-18/bin/java
>> configure exiting with result code 1
>> 
>> 
>> fixpath.sh would attempt to add ".exe" (e.g. "java" -> "java.exe") if 
>> `wslpath -w" failed (returns non-zero value). However it returns zero even 
>> if the path does not exist in recent WSL (v0.61.4 at least).
>> 
>> WSL v0.60.0.0
>> 
>> $ wslpath -w silver-bullet
>> wslpath: silver-bullet: No such file or directory
>> $ echo $?
>> 1
>> 
>> 
>> WSL v0.61.4.0
>> 
>> $ wslpath -w silver-bullet
>> silver-bullet
>> $ echo $?
>> 0
>> 
>> 
>> We should add ".exe" at the tail of path regardless of return value from 
>> wslpath.
>
> Yasumasa Suenaga has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Update the fix to use unixpath

I think we should test on each platforms manually as possible. IMHO fixpath is 
a complex application, so it is better to make testcases for it, but I'm not 
sure it is right thing (because fixpath is not a part of OpenJDK binaries - for 
example, we can think it is ok to pass GHA build test (msys2)).

> What if the path is not an executable? Now you unconditionally add .exe, even 
> if the .exe does not exist.

I think all of files on Windows filesystems (NTFS, vfat) has exec bit (+x) - 
I've read about it in book in the past, but I forget the title...
fixpath has relied on return code from PATHTOOL, so it expects non-zero value 
if the path does not exist. I added path check as following in new commit.


155     # Now turn it into a windows path
156     winpath="$($PATHTOOL -w "$unixpath" 2>/dev/null)"
157     if [[ $? -eq 0 && -e "$unixpath" ]]; then

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

PR: https://git.openjdk.org/jdk/pull/9357

Reply via email to