Maven and JavaFX on Raspberry Pi: Loading library glass from resource failed: java.lang.UnsatisfiedLinkError

65 views Asked by At

I have a JavaFX app that works fine on desktop. I'm trying to "port" it to Raspberry Pi. I use the following command to run it:

mvn -s "/full_path/maven.xml" -Djavafx.platform=linux-arm32-monocle -Dglass.platform=monocle -Djavafx.cachedir=/full_path/cache -Dprism.order=sw javafx:run

It dies with the following error:

Loading library glass from resource failed: java.lang.UnsatisfiedLinkError: /full_path/cache/libglass.so: /full_path/cache/libglass.so: undefined symbol: g_direct_hash java.lang.UnsatisfiedLinkError: /full_path/cache/libglass.so: /full_path/cache/libglass.so: undefined symbol: g_direct_hash

...plus many many lines of stack trace...

Looking into /full_path/cache, I can see that libglass.so is downloaded. And, to my surprise, peeking into it shows that g_direct_hash is also there.

I have tried all kinds of variations of javafx.platform and glass.platform, but to no avail.

Any help would be greatly appreciated.

UPDATE:

Seems that this was caused by some kind of version mismatch. I solved it by manually downloading JavaFX instead of letting Maven get it. Had to update JavaFX dependencies in pom.xml to point to the local dir. Not nice but works.

0

There are 0 answers