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 |
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 |
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 |
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
|
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. |
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
|
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. Yes, I will merge your patches. ~Sven signature.asc (910 bytes) Download Attachment |
Free forum by Nabble | Edit this page |