jlink error when building jextract on macOS for JDK 21

Manuel Bleichenbacher manuel.bleichenbacher at gmail.com
Tue Jul 25 20:33:35 UTC 2023


Hi Jorn

All three conflicting files are present in both the jdk.compiler and
jdk.internal.opt jmod files. In the JDK 20, they haven't been present in
either jmod file.

What build of the JDK are you using for testing?

Regards
Manuel


Am Di., 25. Juli 2023 um 22:22 Uhr schrieb Jorn Vernee <
jorn.vernee at oracle.com>:

> Hey Manuel,
>
> This looks like a strange error. I do not recognize it. The jawt header
> files are from java.desktop, and the jaxp.properties file is from java.xml.
> So, they should not be in jdk.compiler and jdk.internal.opt
>
> If you list the contents of the jdk.compiler and jdk.internal.opt jmod
> files (using jmod list), are these resources listed?
>
> Jorn
> On 25/07/2023 21:44, Manuel Bleichenbacher wrote:
>
> As part of upgrading https://github.com/manuelbl/JavaDoesUSB to JDK 21,
> I'm building jextract for JDK 21. It works without issue on Linux and
> Windows. But on macOS it fails with this error message:
>
> *> Task :createJextractImage* FAILED
>
> Error: jdk.tools.jlink.plugin.PluginException: Duplicate resources:
> {include/darwin/jawt_md.h=[jdk.compiler, jdk.internal.opt],
> conf/jaxp.properties=[jdk.compiler, jdk.internal.opt],
> include/jawt.h=[jdk.compiler, jdk.internal.opt]}
>
> From my limited understanding of jlink, I think one of the explicitly
> specified modules has a transitive dependency to the module
> "jdk.internal.opt", so it's included as well. But the modules
> "jdk.compiler" and "jdk.internal.opt" have three common files, which are
> now in conflict.
>
> Is this a known issue? Is there a workaround?
>
> My environment is:
> - JDK for gradle: openjdk version "17.0.1" 2021-10-19 LTS
> - JDK 21: OpenJDK 64-Bit Server VM Zulu21+69-CA (build 21-ea+28, mixed
> mode, sharing)
> - jextract: head of "jdk21" branch
> - Command line: sh ./gradlew
> -Pjdk21_home=/Users/me/Documents/zulu21.0.69-ea-jdk21.0.0-ea.28-macosx_aarch64
> -Pllvm_home=/Library/Developer/CommandLineTools/usr/ clean verify
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jextract-dev/attachments/20230725/5cd14b9b/attachment.htm>


More information about the jextract-dev mailing list