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