Re: JavaFX Launch Failure on Ubuntu from JNI

2022-02-11 Thread Steve Hannah
Just wanted to share that I sorted out all of my issues with this launcher, and I'm proud to present the result: jDeploy https://www.jdeploy.com You can now deploy your JavaFX apps as native bundles to your Mac, Linux, and Windows users without requiring a Mac/Windows/Linux box to produce the

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-24 Thread Steve Hannah
I just wanted to follow up with this in case someone comes across this thread later. After thoroughly exploring the landscape, I found that the issue on Ubuntu was caused by a conflict between the webkit2gtk-4.0 library (which I was using to show a progress dialog in the case that the JRE or app

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Steve Hannah
> > I’m not sure jpackage handles the notarization. I had done it for a > jpackage application and posted something on how to do it on my site. My > builds are currently throwing some sort of error on that I haven’t looked > at yet. The code signing and packaging I think all invoke native OS/X >

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Michael Hall
> On Jan 20, 2022, at 9:23 AM, Steve Hannah wrote: > > My reason for a launcher is that I'm building an alternative to jpackage that > uses npm for deployment/versioning/updates and allows you to build native > bundles for all platforms (Mac/Linux/Windows) on any platform. I.e. You >

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Steve Hannah
My reason for a launcher is that I'm building an alternative to jpackage that uses npm for deployment/versioning/updates and allows you to build native bundles for all platforms (Mac/Linux/Windows) on any platform. I.e. You don't need to be building on a Windows box to create a native windows

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Michael Hall
> On Jan 20, 2022, at 9:08 AM, Steve Hannah wrote: > > I just wanted to post an update on this in case it helps some future dev > who gets stuck on the same issue. > You probably have good reasons for having your own launcher but you might want to consider if jpackage could be an

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Steve Hannah
I just wanted to post an update on this in case it helps some future dev who gets stuck on the same issue. It seems that on Mac OS you can't use JNI_CreateJavaVM() to launch the JVM if you hope to use any GUI stuff.This issue is described in this issue:

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-20 Thread Steve Hannah
Thanks for all the help on this. I have done some further digging and I think the current problem (with the minimal test case) may not be JavaFX specific, but rather something related to GUI in general on Mac OS. I changed the test to just use Swing but it also hangs as soon as it tries to

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Kevin Rushforth
Point #1 is one of the known limitations of using javafx modules on the classpath (and is one of the reasons we recommend against it), so that's not surprising. And I see you found the workaround. I wonder if it might have something to do with a shared library that is being loaded in one case

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Nir Lisker
> > 1. If your main class extends Application, and you try to run it like: > java -jar MyApplication.jar > It will fail immediately with: > Error: JavaFX runtime components are missing, and are required to run this > application > 2. If you "trick" it, by making your Application class a

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Steve Hannah
I've reduced the problem down to something minimal and have found that: 1. If your main class extends Application, and you try to run it like: java -jar MyApplication.jar It will fail immediately with: Error: JavaFX runtime components are missing, and are required to run this application 2. If

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread John Neffenger
On 1/19/22 2:12 PM, Steve Hannah wrote: I have been resisting using modules for a long time because it just makes things more complicated, ... It also makes some things easier, though, and certainly smaller. It's easier to use an old-school Makefile with modules, and using 'jlink' can get a

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Steve Hannah
Thanks for all the replies on this. I'm working on getting a minimal example. Sadly I'm reduced to a hello-world JavaFX application that I can't get running using Maven dependencies, even just doing it the plain old way with "java -jar target/hello-world-1.0-SNAPSHOT.jar". I get: "Error: JavaFX

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Kevin Rushforth
On 1/19/2022 1:46 PM, Michael Hall wrote: On Jan 19, 2022, at 2:13 PM, Matthias Bläsing wrote: Unsupported != does not work! But it might mean less tested. So you might have to worry about things like it works here but does it work on Linux? It works with version x but does it work

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Michael Hall
> On Jan 19, 2022, at 2:13 PM, Matthias Bläsing > wrote: > > Unsupported != does not work! But it might mean less tested. So you might have to worry about things like it works here but does it work on Linux? It works with version x but does it work with y? > At this point in time Apache

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Kevin Rushforth
FWIW,  in a draft of my earlier reply, I had written a comment pointing out that JavaFX is only supported with modules. I didn't include it, because I think it very unlikely that that's related to the problem. I think a simple reproducer will be most helpful in tracking this down. -- Kevin

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Matthias Bläsing
Hi, Am Mittwoch, dem 19.01.2022 um 13:49 -0600 schrieb Michael Hall: > > > They are included in the classpath. I'm not using modules. > > This one > https://stackoverflow.com/questions/67854139/javafx-warning-unsupported-javafx-configuration-classes-were-loaded-from-unna > >

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Michael Hall
> On Jan 19, 2022, at 11:40 AM, Steve Hannah wrote: > > com.sun.javafx.application.PlatformImpl startup > Exception in thread "Thread-5" java.lang.IllegalStateException: This > operation is permitted on the event thread only; currentThread = > Thread-5 Searching on…

Re: [External] : Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Kevin Rushforth
Very odd. If you can create a simple, standalone test case, ideally a single, self-contained JavaFX application and a C main program as a launcher, then you might want to file a bug at https://bugreport.java.com/ -- Kevin On 1/19/2022 10:42 AM, Steve Hannah wrote: Thanks for the reply. > 

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Steve Hannah
Thanks for the reply. > What are the JVM args you use for launching? vm_args.version = JNI_VERSION_1_6; vm_args.options = options; vm_args.nOptions = numOptions; vm_args.ignoreUnrecognized = 1; For options, I'm just using -Djava.class.path, though I have experimented using

Re: JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Kevin Rushforth
Hard to say what's going on without more information. What are the JVM args you use for launching? Are the JavaFX modules jlink'ed into the JDK or loaded via --module-path? As a debugging aid, you might try setting the system property "javafx.verbose" to "true" before loading your

JavaFX Launch Failure on Ubuntu from JNI

2022-01-19 Thread Steve Hannah
The following issue only seems to occur on Linux (Ubuntu 20.04.1), and only when I try to launch the JVM from a custom C launcher using JNI. It does not occur when launching the JVM as a separate process using the "java" binary. It also does not occur on MacOS when using the same C launcher