Building Openjfx on Centos 6.6
Nick Pratt
nbpratt at gmail.com
Sat Jan 3 19:36:21 UTC 2015
This is the output from my Pi with the modified JDK:
pi at raspberrypi ~ $ sudo /opt/java/jre/bin/java -Djavafx.platform=monocle
-Dmonocle.screen.fb="/dev/fb1" -Ddispman.display=0 -Ddispman.layer=1
-Dprism.verbose=true -Djavafx.verbose=true -jar JavaFXApp.jar
Prism pipeline init order: es2 sw
Using native-based Pisces rasterizer
Using dirty region optimizations
Using system sized mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.es2.ES2Pipeline
Loading ES2 native library ... prism_es2_monocle
Loaded /opt/jdk1.8.0_06/jre/lib/ext/../arm/libprism_es2_monocle.so from
relative path
succeeded.
GLFactory using com.sun.prism.es2.MonocleGLFactory
Loaded /opt/jdk1.8.0_06/jre/lib/ext/../arm/libglass_monocle.so from
relative path
(X) Got class = class com.sun.prism.es2.ES2Pipeline
Initialized prism pipeline: com.sun.prism.es2.ES2Pipeline
JavaFX: using com.sun.javafx.tk.quantum.QuantumToolkit
Maximum supported texture size: 2048
Non power of two texture support = true
Maximum number of vertex attributes = 8
Maximum number of uniform vertex components = 544
Maximum number of uniform fragment components = 544
Maximum number of varying components = 32
Maximum number of texture units usable in a vertex shader = 8
Maximum number of texture units usable in a fragment shader = 8
Graphics Vendor: Broadcom
Renderer: VideoCore IV HW
Version: OpenGL ES 2.0
vsync: true vpipe: true
Calling main(String[]) method
Loaded /opt/jdk1.8.0_06/jre/lib/ext/../arm/libjavafx_font.so from relative
path
Loaded /opt/jdk1.8.0_06/jre/lib/ext/../arm/libjavafx_font_freetype.so from
relative path
ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.frag
On Fri, Jan 2, 2015 at 10:10 AM, David Hill <David.Hill at oracle.com> wrote:
> 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> 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>
>>> 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> 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> <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> <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