Posted by
Xerxes Rånby on
Aug 27, 2012; 4:59pm
URL: https://forum.jogamp.org/FYI-New-aggregated-signed-test-build-tp4025891p4025908.html
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.jnlpVersionApplet: 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.jnlpVersionApplet: 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.