jlink error when building jextract on macOS for JDK 21
Jorn Vernee
jorn.vernee at oracle.com
Tue Jul 25 20:22:39 UTC 2023
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/8c4c25f0/attachment.htm>
More information about the jextract-dev
mailing list