jextract build fails on windows

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Fri Apr 15 13:49:29 UTC 2022


Hi,
I can confirm that I see the failure on my Windows virtual machine as 
well...

```
 > Task :createJextractImage FAILED
Error: no value given for --add-options
Usage: jlink <options> --module-path <modulepath> --add-modules 
<module>[,<module>...]
Use --help for a list of possible options
```

Not sure why I didn't see that last time - but I recall there has been a 
last minute change to the build, so it's possible that this issue 
slipped through.

Maurizio

On 15/04/2022 14:42, Daniel Jarabek wrote:
> Hi,
>
> Unfortunately even after the PR [1], the build still fails for me on 
> Windows. I did some digging and found what I believe to be the cause. 
> On Windows, argv arguments are parsed for quotes before being passed 
> to the application (in the case of the JVM this parsing is actually 
> implemented in the launcher as far as I can tell, but that shouldn't 
> really be relevant here). My previously proposed fix of adding an 
> escaped backslash to the argument (so it looks like '\\"') seems to be 
> the best option currently. Unfortunately, I was incorrect about this 
> fix not affecting other Operating Systems in my last email. While it 
> builds successfully, when attempting to run the built image it fails 
> with `Unrecognized option: 
> \--enable-native-access=org.openjdk.jextract\`, since the extra back 
> slashes were not consumed by the build process. My new proposed fix it 
> to conditionally add the extra backslashes on Windows, for example by 
> defining an escapedQuote variable based on the current Operating System.
>
> -DJ
>
> [1] - https://github.com/openjdk/jextract/pull/18
>
> On 4/11/2022 2:14 AM, Sundararajan Athijegannathan wrote:
>> Hi,
>>
>> Jorn Vernee reported same issue (and same fix) internally. Not sure 
>> why that double quoting is needed on Windows (perhaps shell issues). 
>>  I think Jorn Vernee will file a PR.
>>
>> Thanks,
>> -Sundar
>> ------------------------------------------------------------------------
>> *From:* jextract-dev <jextract-dev-retn at openjdk.java.net> on behalf 
>> of Daniel Jarabek <jarabekit at gmail.com>
>> *Sent:* 10 April 2022 04:04
>> *To:* jextract-dev at openjdk.java.net <jextract-dev at openjdk.java.net>
>> *Subject:* jextract build fails on windows
>> Hi,
>>
>> After the changes in [1], the jextractapp gradle task fails on Windows
>> with the error `Error: no value given for --add-options`. While I'm not
>> exactly sure what is happening here, wrapping the escaped quotes at [2]
>> in another level of escaping (so they look like `\\\"`) resolves the
>> issue. After this fix, the task still works successfully on linux (and
>> presumably mac). I would make a pull request to fix this but I am unsure
>> if this is the best (or even a valid) solution and due to my OCA
>> currently being under review, the merging would be blocked anyways.
>>
>> -DJ
>>
>> [1] - https://github.com/openjdk/jextract/pull/11 
>> <https://github.com/openjdk/jextract/pull/11>
>> [2] -
>> https://github.com/openjdk/jextract/blob/e184943f15e8df68c6122b8f7e49c0a910a3b773/build.gradle#L113 
>> <https://github.com/openjdk/jextract/blob/e184943f15e8df68c6122b8f7e49c0a910a3b773/build.gradle#L113> 
>>


More information about the jextract-dev mailing list