Gluon Maven tool chain builds app, but Gradle tool chain does not (fails linking)

60 views Asked by At

I have been using the Gluon tool chain to compile a JavaFX app into native images for both Mac OS X (Sonoma, M1) and iOS.

It all works great. Got it working end to end. Great tool chain!

But ...

I have been using Maven to do the builds, using the standard Gluon maven setup.

I now thought I would try to build using Gradle, using the Gradle "com.gluonhq.gluonfx-gradle-plugin" plugin, version 1.0.21.

Using this plugin the code compiles just fine, but when it comes to the linking phase I get this warning (and the link fails):

[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB] ld: warning: object file (/Users/graham/Downloads/graalvm-svm-java17-darwin-m1-gluon-22.1.0.1-Final/Contents/Home/lib/svm/clibraries/darwin-aarch64/libdarwin.a[2](foundation.o)) was built for newer 'macOS' version (12.0) than being linked (11.0)
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB] ld: Undefined symbols:
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]   _LMGetKbdType, referenced from:
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]       _getJavaCodeForMacKeyAndModifiers in libglass.a[14](GlassKey.obj)
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]   _TISCopyCurrentKeyboardLayoutInputSource, referenced from:
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]       _getJavaCodeForMacKey in libglass.a[14](GlassKey.obj)
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]   _TISGetInputSourceProperty, referenced from:
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]       _getJavaCodeForMacKeyAndModifiers in libglass.a[14](GlassKey.obj)
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]   _kTISPropertyUnicodeKeyLayoutData, referenced from:
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB]       _getJavaCodeForMacKeyAndModifiers in libglass.a[14](GlassKey.obj)
[Mon Nov 20 10:53:17 NZDT 2023][INFO] [SUB] clang: error: linker command failed with exit code 1 (use -v to see invocation)

It feels like the Maven plugin is detecting some environment variable, or path, that the Gradle plugin isn't. But I haven't been able to work out what it is.

[I actually get the warning with Maven, but it doesn't stop the linking]

Anyone have any idea what I am missing? thx

0

There are 0 answers