FYI: New aggregated & signed test build ..

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

FYI: New aggregated & signed test build ..

Sven Gothel
Administrator
Base: <http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/>
Android: <http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/apk/>

- Includes Rasperry Pi (BCM VC IV NEWT support) changes
     Needs a set property i.e. '-Dnativewindow.ws.name=jogamp.newt.driver.bcm.vc.iv'

- Fixed JOCL Java Webstart demos
     <http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jocl-demos/>

- Linux & Android: armv7 -> armv5t/6 'downgrade' allowing more devices

- FFMPEGMediaPlayer fix (alpha & native lib loading)

- Robostness: FBObject, ..

- Remove deprecated functions ..

- Fix Android Power suspend/resume

.. and all the other minor fixes since RC10

Pls test ..

Cheers, Sven


signature.asc (910 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

Xerxes Rånby
This post was updated on .
The JNLP launchers complains that no armv7 jars are found when testing on ARM armel and armhf Linux platforms:

This can possibly get fixed by the jnlp-arch-armv6 rename pull request found on github.
http://github.com/sgothel/jogl/pull/50

OR we can possibly fix this by removing all references to the *natives* inside the jnlp files and let JogAmp itself load them at runtime, we should then double check that the downloaded jars work in "offline"-mode.

pi@raspberrypi ~ $ _JAVA_OPTIONS=-Dnativewindow.ws.name=jogamp.newt.driver.bcm.vc.iv midori http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jogl-applet-runner-newt-gears-special.html
ERROR: Invalid browser function table. Some functionality may be restricted.
Picked up _JAVA_OPTIONS: -Dnativewindow.ws.name=jogamp.newt.driver.bcm.vc.iv
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.3) (6b24-1.11.3-2+rpi1)
OpenJDK Zero VM (build 20.0-b12, mixed mode)
Picked up _JAVA_OPTIONS: -Dnativewindow.ws.name=jogamp.newt.driver.bcm.vc.iv
JNLPAppletLauncher: static initializer
java.io.FileNotFoundException: http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jar/jogl-all-natives-linux-armv7.jar
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
        at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:1458)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1452)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1106)
        at org.jdesktop.applet.util.JNLPAppletLauncher.copyURLToFile(JNLPAppletLauncher.java:1751)
        at org.jdesktop.applet.util.JNLPAppletLauncher.validateCache(JNLPAppletLauncher.java:1696)
        at org.jdesktop.applet.util.JNLPAppletLauncher.processNativeJar(JNLPAppletLauncher.java:1629)
        at org.jdesktop.applet.util.JNLPAppletLauncher.initResources(JNLPAppletLauncher.java:1413)
        at org.jdesktop.applet.util.JNLPAppletLauncher.initAndStartApplet(JNLPAppletLauncher.java:1310)
        at org.jdesktop.applet.util.JNLPAppletLauncher.access$000(JNLPAppletLauncher.java:662)
        at org.jdesktop.applet.util.JNLPAppletLauncher$1.run(JNLPAppletLauncher.java:911)
Caused by: java.io.FileNotFoundException: http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jar/jogl-all-natives-linux-armv7.jar
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1401)
        at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields(HttpURLConnection.java:2236)
        at org.jdesktop.applet.util.JNLPAppletLauncher.processNativeJar(JNLPAppletLauncher.java:1607)
        ... 4 more
27-Aug-2012 11:18:05 org.jdesktop.applet.util.JNLPAppletLauncher displayError
SEVERE: java.io.FileNotFoundException: http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jar/jogl-all-natives-linux-armv7.jar: java.io.FileNotFoundException: http://jogamp.org/deployment/archive/master/gluegen_584-joal_353-jogl_798-jocl_668-signed/jar/jogl-all-natives-linux-armv7.jar
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

Sven Gothel
Administrator
On 08/27/2012 01:23 PM, Xerxes Rånby [via jogamp] wrote:
> The JNLP launchers complains that no armv7 jars are found:
> This can possibly get fixed by the jnlp-arch-armv6 rename pull request found
> on github.
> OR we can possibly fix this by removing all references to the *natives* the
> jnlp files and let JogAmp itself load them at runtime.
>

Yes, as suggested here
<http://jogamp.org/git/?p=gluegen.git;a=commit;h=7ec3d0b6a90f2204eb3272324cf5908caa4597b4>.


Does it work well w/o _any_ native JAR referenced in the JNLP file ?

Me currently working on the FBO NativeSurface/JAWTWindow hook
allowing OSX to use it instead of pbuffer.

~Sven



signature.asc (910 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

gouessej
Administrator
If we dropped the reference to native JARs, I assume that Java Web Start would have to download them all. Is it really a good idea?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

Xerxes Rånby
gouessej: i have now tested what would happen:
It turned out to be an ok solution for 24/7 internet connected computers.
The JNLP launcher would then download gluegen-rt and jogl-all jar and start the application.
At runtime JogAmp needs to load the native jar and then download the correct *-native-*arch*.jar from the server based on the server URL and Arch information at runtime.
The application then start correctly:
# ONLINE mode = OK
# no natives referenced in JNLP
pi@raspberrypi ~ $ javaws -noupdate http://labb.zafena.se/jogamp-jnlp/jogl-applet-version.jnlp
VersionApplet: init() - begin
-----------------------------------------------------------------------------------------------------
Platform: LINUX / Linux 3.1.9+ (os), arm (arch), EABI_GNU_ARMHF, 1 cores
MachineDescription: runtimeValidated true, littleEndian true, 32Bit true, primitive size / alignment:
...


Unfortunally it would not work in offline mode, then only gluege-rt and jogl-all jar would be available in the jnlp cache and then we try to load the natives we would then see the following error at runtime:
# OFFLINE mode = fail - unplugged Ethernet cable
pi@raspberrypi ~ $ javaws -noupdate http://labb.zafena.se/jogamp-jnlp/jogl-applet-version.jnlp
VersionApplet: init() - begin
Catched UnknownHostException: labb.zafena.se, while TempJarCache.bootstrapNativeLib() of jar:http://labb.zafena.se/jogamp-jnlp/jar/gluegen-rt-natives-linux-armv6hf.jar!/ (http://labb.zafena.se/jogamp-jnlp/jar/ + gluegen-rt-natives-linux-armv6hf.jar)
VersionApplet: stop() - begin
...

I have also tested the proposed patch in the pull request.
The patch would then make JNLP download both the native linux-armv6 and linux-armv6hf on all Linux/ARM systems. At runtime JogAmp is now able to access the correct cached native jar.
The application now work fine in both online and offline mode.

I highly suggest we keep the references to the native JARs and update the jnlp files to download both the armv6 and armv6hf natives for ARM.
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

gouessej
Administrator
So the JARs containing the native libraries have to be in the same directory than jogl-all.jar and gluegen-rt.jar, it would be implicit. I'm not a big fan of this behavior but I assume it is the only way not to depend on Java Web Start to fetch the proper JAR and then to work around your problem with ARM hardware/software float support. I would prefer this solution to be only temporary.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: FYI: New aggregated & signed test build ..

Sven Gothel
Administrator
In reply to this post by Xerxes Rånby
On 08/27/2012 06:59 PM, Xerxes Rånby [via jogamp] wrote:

> gouessej: i have now tested what would happen:
> It turned out to be an ok solution for 24/7 internet connected computers.
> The JNLP launcher would then download gluegen-rt and jogl-all jar and start
> the application.
> At runtime JogAmp needs to load the native jar and then download the correct
> *-native-*arch*.jar from the server based on the server URL and Arch
> information at runtime.
> The application then start correctly:
> # ONLINE mode = OK
> # no natives referenced in JNLP
> pi@raspberrypi ~ $ javaws -noupdate
> http://labb.zafena.se/jogamp-jnlp/jogl-applet-version.jnlp
> VersionApplet: init() - begin
> -----------------------------------------------------------------------------------------------------
>
> Platform: LINUX / Linux 3.1.9+ (os), arm (arch), EABI_GNU_ARMHF, 1 cores
> MachineDescription: runtimeValidated true, littleEndian true, 32Bit true,
> primitive size / alignment:
> ...
>
>
> Unfortunally it would not work in offline mode, then only gluege-rt and
> jogl-all jar would be available in the jnlp cache and then we try to load the
> natives we would then see the following error at runtime:
> # OFFLINE mode = fail - unplugged Ethernet cable
> pi@raspberrypi ~ $ javaws -noupdate
> http://labb.zafena.se/jogamp-jnlp/jogl-applet-version.jnlp
> VersionApplet: init() - begin
> Catched UnknownHostException: labb.zafena.se, while
> TempJarCache.bootstrapNativeLib() of
> jar:http://labb.zafena.se/jogamp-jnlp/jar/gluegen-rt-natives-linux-armv6hf.jar!/
> <http://labb.zafena.se/jogamp-jnlp/jar/gluegen-rt-natives-linux-armv6hf.jar%21/> (http://labb.zafena.se/jogamp-jnlp/jar/ +
> gluegen-rt-natives-linux-armv6hf.jar)
> VersionApplet: stop() - begin
> ...
>
> I have also tested the proposed patch in the pull request.
> The patch would then make JNLP download both the native linux-armv6 and
> linux-armv6hf on all Linux/ARM systems. At runtime JogAmp is now able to
> access the correct cached native jar.
> The application now work fine in both online and offline mode.
>
> I highly suggest we keep the references to the native JARs and update the jnlp
> files to download both the armv6 and armv6hf natives for ARM.
Great job, thx for testing!

Yes, I will merge your patches.

~Sven



signature.asc (910 bytes) Download Attachment