Nick found a good one, took me a while to find the obvious :-p
The UnsatisfiedLinkError was caused by old ARM JFX jars that were not overriden
when he copied the new bits into the JDK.
On ARM we have a split set of jars for FX that we ship, but when we build, we
only build the single jfxrt.jar like the desktop. The split is post build
packaging. So Nick was mixing old and new jars, which is what the Wiki told him
to do. Doh.
I updated the wiki for OpenJFX building and cross building with some
clarifications, notes and such, so hopefully the next solider will not find so
many mines.
Dave
On 12/29/14, 9:46 PM, Nick Pratt wrote:
So I made some progress here:
I had installed Ubuntu 14.x 64-bit version. Once I installed the ia32-libs
(replacement versions for Ubuntu 14 since ia32-libs) isnt available
anymore, I got the ARM HF to build. I installed on my Pi, but Im getting
link errors when I try and run a JFX program:
java -Djavafx.platform=monocle -Dmonocle.screen.fb=/dev/fb1 -jar
JavaFXApp.jar
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: java.lang.UnsatisfiedLinkError:
com.sun.glass.ui.monocle.linux.Udev._open()J
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:296)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:216)
at
com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:653)
at
com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:314)
at
com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)
... 5 more
Caused by: java.lang.UnsatisfiedLinkError:
com.sun.glass.ui.monocle.linux.Udev._open()J
at com.sun.glass.ui.monocle.linux.Udev._open(Native Method)
at com.sun.glass.ui.monocle.linux.Udev.<init>(Udev.java:68)
at com.sun.glass.ui.monocle.linux.Udev.getInstance(Udev.java:54)
at
com.sun.glass.ui.monocle.linux.LinuxInputDeviceRegistry.<init>(LinuxInputDeviceRegistry.java:77)
at
com.sun.glass.ui.monocle.linux.LinuxPlatform.createInputDeviceRegistry(LinuxPlatform.java:19)
at
com.sun.glass.ui.monocle.NativePlatform.getInputDeviceRegistry(NativePlatform.java:58)
at
com.sun.glass.ui.monocle.MonocleApplication.<init>(MonocleApplication.java:78)
at
com.sun.glass.ui.monocle.MonoclePlatformFactory.createApplication(MonoclePlatformFactory.java:45)
at com.sun.glass.ui.Application.run(Application.java:145)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:281)
... 9 more
So then I figured I try and get an Ubuntu 12.x 32-bit VM up and running and
use that for a OpenJFX build since this is mentioned in the OpenJFX wiki.
However, a clean install cant run sudo apt-get update due to missing
package definitions - have Ubuntu (or whoever maintains this set of repos)
removed the older 12.x packages (or started to)? I cant get gcc installed
or updated because of this - and this is a fresh install direct from the
Ubuntu 12.0.4 .iso
On a related note, its not clear to me what Im supposed to do after
compiling OpenJFX - what needs to be installed and where does it need to go
- JAVA_HOME/jre/lib ? (just replace everything in there?)
On Sun, Dec 28, 2014 at 9:11 PM, Morris Meyer<morris.me...@oracle.com>
wrote:
What JDK are you using? That looks like an older version of the String
class. Gradle 1.8 is recommended.
--mm
On Dec 28, 2014, at 7:35 PM, Nick Pratt<nbpr...@gmail.com> wrote:
Does anyone have any tips on getting Openjfx (latest source as of
2014-12-28 19:00 EST) to build on a Centos 6.6 box?
Im following the wiki for Linux builds and grabbed Gradle 1.8 (does the
latest 2.2 work?) but Im failing to build with the following error:
[work@nyprod1 rt]# /opt/gradle/bin/gradle
:buildSrc:generateGrammarSource UP-TO-DATE
:buildSrc:compileJava UP-TO-DATE
:buildSrc:compileGroovy UP-TO-DATE
:buildSrc:processResources UP-TO-DATE
:buildSrc:classes UP-TO-DATE
:buildSrc:jar UP-TO-DATE
:buildSrc:assemble UP-TO-DATE
:buildSrc:compileTestJava UP-TO-DATE
:buildSrc:compileTestGroovy UP-TO-DATE
:buildSrc:processTestResources UP-TO-DATE
:buildSrc:testClasses UP-TO-DATE
:buildSrc:test UP-TO-DATE
:buildSrc:check UP-TO-DATE
:buildSrc:build UP-TO-DATE
FAILURE: Build failed with an exception.
* Where:
Script '/work/WorkingCopies/rt/buildSrc/linux.gradle' line: 78
* What went wrong:
A problem occurred evaluating script.
Cannot invoke method split() on null object
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug option to get more log output.
BUILD FAILED
Total time: 8.96 secs
If anyone has any tips or suggestions to get this compiling on Centos 6.x
they would be most appreciated.
--
David Hill<david.h...@oracle.com>
Java Embedded Development
"A man's feet should be planted in his country, but his eyes should survey the
world."
-- George Santayana (1863 - 1952)