John Baker
John Baker

Reputation: 109

jpackage has started failing on Mac OS due to: jlink failed with: WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.vector

jpackage has been working fine until today on Mac OS. Now it fails due to some internal use of an incubator package.

Is there a workaround for this? It still works fine on windows.

openjdk version "17.0.8" 2023-07-18 LTS OpenJDK Runtime Environment Zulu17.44+15-CA (build 17.0.8+7-LTS) OpenJDK 64-Bit Server VM Zulu17.44+15-CA (build 17.0.8+7-LTS, mixed mode, sharing)

Mac OS 12.6.8 (21G725)

I am using jpackage from my maven build using exec plugin.

I am using jpackage with --input on an app image to create a non modular app. This has been fine before. Could this have become a problem?

Maven -X log

jdk.jpackage.internal.PackagerException: jlink failed with: WARNING: Using incubator modules: jdk.incubator.foreign, jdk.incubator.vector
Error: jdk.tools.jlink.plugin.PluginException: Duplicate resources: {lib/libj2gss.dylib=[java.security.jgss, java.security.sasl], lib/jfr/default.jfc=[jdk.jshell, jdk.jsobject, jdk.jfr, jdk.jlink, jdk.jpackage, jdk.jstatd, jdk.localedata], conf/management/management.properties=[jdk.management.jfr, jdk.management.agent, jdk.sctp, jdk.xml.dom, jdk.unsupported, jdk.management, jdk.net, jdk.random, jdk.nio.mapmode, jdk.security.auth, jdk.unsupported.desktop, jdk.naming.rmi, jdk.zipfs, jdk.naming.dns, jdk.security.jgss], lib/jfr/profile.jfc=[jdk.jshell, jdk.jsobject, jdk.jfr, jdk.jlink, jdk.jpackage, jdk.jstatd, jdk.localedata], lib/libosxkrb5.dylib=[java.security.jgss, java.security.sasl], lib/libmanagement_ext.dylib=[jdk.management, jdk.naming.rmi, jdk.naming.dns], lib/libextnet.dylib=[jdk.net, jdk.random, jdk.nio.mapmode, jdk.sctp], conf/sound.properties=[java.desktop, java.instrument], conf/management/jmxremote.access=[jdk.management.jfr, jdk.management.agent, jdk.sctp, jdk.xml.dom, jdk.unsupported, jdk.management, jdk.net, jdk.random, jdk.nio.mapmode, jdk.security.auth, jdk.unsupported.desktop, jdk.naming.rmi, jdk.zipfs, jdk.naming.dns, jdk.security.jgss], lib/librmi.dylib=[java.rmi, java.scripting], lib/libsyslookup.dylib=[jdk.incubator.vector, jdk.javadoc, jdk.jdi, jdk.internal.ed, jdk.internal.le, jdk.jdeps, jdk.internal.opt, jdk.jartool, jdk.jconsole, jdk.incubator.foreign, jdk.internal.jvmstat], lib/libattach.dylib=[jdk.charsets, jdk.attach], lib/libinstrument.dylib=[java.logging, java.instrument], lib/libjaas.dylib=[jdk.security.auth, jdk.unsupported.desktop, jdk.xml.dom, jdk.unsupported, jdk.zipfs, jdk.security.jgss], conf/logging.properties=[java.rmi, java.sql, jdk.incubator.vector, jdk.jdi, jdk.charsets, java.logging, java.transaction.xa, java.xml.crypto, java.xml, jdk.jfr, jdk.jstatd, jdk.httpserver, jdk.crypto.cryptoki, java.naming, jdk.internal.ed, java.prefs, java.net.http, jdk.compiler, java.security.sasl, jdk.internal.opt, jdk.jconsole, jdk.attach, jdk.crypto.ec, jdk.javadoc, jdk.jshell, jdk.editpad, jdk.internal.le, java.management, java.sql.rowset, jdk.jsobject, java.smartcardio, jdk.jlink, jdk.jdwp.agent, jdk.incubator.foreign, jdk.internal.jvmstat, java.security.jgss, java.scripting, jdk.dynalink, jdk.jdeps, jdk.accessibility, jdk.jartool, java.management.rmi, jdk.jpackage, jdk.localedata], lib/libj2pcsc.dylib=[java.sql, java.transaction.xa, java.xml.crypto, java.sql.rowset, java.xml, java.smartcardio, jdk.accessibility], lib/libj2pkcs11.dylib=[jdk.crypto.cryptoki, jdk.editpad, jdk.dynalink, jdk.crypto.ec], lib/libmanagement_agent.dylib=[jdk.management.jfr, jdk.management.agent], lib/libmanagement.dylib=[java.naming, java.management, java.net.http, java.management.rmi], conf/management/jmxremote.password.template=[jdk.management.jfr, jdk.management.agent, jdk.sctp, jdk.xml.dom, jdk.unsupported, jdk.management, jdk.net, jdk.random, jdk.nio.mapmode, jdk.security.auth, jdk.unsupported.desktop, jdk.naming.rmi, jdk.zipfs, jdk.naming.dns, jdk.security.jgss]}

Upvotes: 0

Views: 478

Answers (2)

Harry
Harry

Reputation: 11678

For anyone that finds this I got this when using jlink.

I got this as the error

Error: jdk.tools.jlink.plugin.PluginException: Duplicate resources: {lib/libj2gss.dylib=[java.security.jgss, java.security.sasl], conf/management/management.properties=[jdk.management, jdk.unsupported], bin/jrunscript=[java.sql, java.security.jgss, java.scripting, java.transaction.xa, java.xml, java.security.sasl], lib/libosxkrb5.dylib=[java.security.jgss, java.security.sasl], conf/sound.properties=[java.desktop, java.instrument], conf/management/jmxremote.access=[jdk.management, jdk.unsupported], lib/librmi.dylib=[java.rmi, java.scripting], bin/jstatd=[jdk.management, jdk.unsupported], lib/libinstrument.dylib=[java.logging, java.instrument], conf/logging.properties=[java.rmi, java.sql, java.logging, java.transaction.xa, java.management, java.xml, jdk.jfr, java.security.jgss, java.naming, java.scripting, java.prefs, java.net.http, java.security.sasl], lib/libj2pcsc.dylib=[java.sql, java.transaction.xa, java.xml], lib/libmanagement.dylib=[java.naming, java.management, java.net.http], conf/management/jmxremote.password.template=[jdk.management, jdk.unsupported]}

The broken jvm is zulu, from sdkman

 | 17.0.8       | zulu    | installed  | 17.0.8-zulu

fix

sdk install java 17.0.8-tem

Upvotes: 0

John Baker
John Baker

Reputation: 109

Solved.

I looks like azul released a broken jdk 17 build.

There were 2 listed with same version (when listing older versions is selected). The first didn't work, the second with same details does.

It is also possible that something went wrong when installing it, however the same thing happened on 2 different macs so think this is unlikely.

Upvotes: 0

Related Questions