Building Openjfx on Centos 6.6

Nick Pratt nbpratt at gmail.com
Wed Jan 7 13:33:01 UTC 2015


Does any of this output give any indication as to what's going on?  Ive
tried various combinations of the params for dispman.display and
dispman.layer but still don't see any sign of activity on the TFT screen.



On Sat, Jan 3, 2015 at 2:36 PM, Nick Pratt <nbpratt at gmail.com> wrote:

> 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