Building Openjfx on Centos 6.6
David Hill
David.Hill at Oracle.com
Fri Jan 2 15:10:53 UTC 2015
On 12/31/14, 9:45 PM, Nick Pratt wrote:
> Thanks for the help. So now I can invoke Java without the link errors, but my JavaFX app isnt appearing on the attached TFT screen ( Note: I can get 'x' to appear on the the Pi TFT screen by setting the FRAMEBUFFER variable prior to invoking startx so I know my TFT screen is setup and the right Kernel mods are enabled and applied)
>
> Notwithstanding the error messages below, am I invoking Java correctly here : (based on the comments in https://javafx-jira.kenai.com/browse/RT-36960 )
I don't have access to your configuration (I only have a Pi with HDMI), so this is going to be hard for me to help with. You do need the sudo because of the permissions issues with the input devices.
When Daniel added the code to mentioned in RT-36960, he did not have that configuration either, so we will need help understanding what is happening.
You might try adding -Dprism.verbose=true -Djavafx.verbose=true
and we might get lucky.
>
> pi at raspberrypi ~ $ java -Djavafx.platform=monocle -Dmonocle.screen.fb="/dev/fb1" -Ddispman.display=0 -Ddispman.layer=1 -jar JavaFXApp.jar
>
> Udev: Failed to write to /sys/class/input/mice/uevent
>
> Check that you have permission to access input devices
>
> Udev: Failed to write to /sys/class/input/event0/uevent
>
> Check that you have permission to access input devices
>
> Udev: Failed to write to /sys/class/input/input0/uevent
>
> Check that you have permission to access input devices
>
> Udev: Failed to write to /sys/class/input/mouse0/uevent
>
> Check that you have permission to access input devices
>
>
> If I run the above command as sudo root, then I dont see the errors printed, but still nothing on the TFT screen.
>
> Regards
>
>
> Nick
>
>
>
> On Wed, Dec 31, 2014 at 4:19 PM, David Hill <David.Hill at oracle.com <mailto:David.Hill at oracle.com>> wrote:
>
>
> 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.meyer at oracle.com <mailto:morris.meyer at 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<nbpratt at gmail.com <mailto:nbpratt at 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 at 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.Hill at 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)
>
>
--
David Hill<David.Hill at 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)
More information about the openjfx-dev
mailing list