In my WIP sagemath package I just did a quick debug of the jmol interface to display interactive graphics. Since I want to use the system jmol, my sagemath.spec removes the sagenb bundled jmol files and make a symlink to the system one, e.g.: $ ls -l /usr/lib64/python2.7/site-packages/sagenb/data/jmol lrwxrwxrwx. 1 root root 15 Jul 3 00:03 /usr/lib64/python2.7/site-packages/sagenb/data/jmol -> /usr/share/java but it was failing when attempting to use <basedir>/appletweb/Jmol.js, so I just sudo cp'ed it: $ ll /usr/share/java/appletweb/ total 132 -rw-r--r--. 1 pcpa pcpa 4698 Jul 20 2011 chime2jmol_documentation.txt -rw-r--r--. 1 pcpa pcpa 9356 Jul 20 2011 chime2jmol.pl -rw-r--r--. 1 pcpa pcpa 10364 Jul 20 2011 ChimeToJmol.js -rw-r--r--. 1 pcpa pcpa 27349 Jul 20 2011 Jmol-10.js -rw-r--r--. 1 pcpa pcpa 37 Jul 20 2011 JmolApplet.properties -rw-r--r--. 1 pcpa pcpa 1626 Jul 20 2011 JmolAppletProxy.cgi -rw-r--r--. 1 pcpa pcpa 57281 Jul 20 2011 Jmol.js -rw-r--r--. 1 pcpa pcpa 1185 Jul 20 2011 SystemGetProperty.java -rw-r--r--. 1 pcpa pcpa 815 Jul 20 2011 testSystemGetProperty.html But then I get a failure due to missing jar files when attempting to display some plot in the sage notebook. Example console output: $ java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (fedora-2.2.1.fc18.8-x86_64) OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode) JAR http://localhost:8000/java/jmol/JmolApplet0.jar not found. Continuing. net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:735) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) Caused by: java.lang.ClassNotFoundException: JmolApplet at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1398) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:725) ... 2 more Caused by: java.lang.ClassNotFoundException: JmolApplet at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1398) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:725) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:379) at java.lang.Thread.run(Thread.java:722) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:429) at java.lang.Thread.run(Thread.java:722) JAR http://localhost:8000/java/jmol/JmolApplet0.jar not found. Continuing. net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:735) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) Caused by: java.lang.ClassNotFoundException: JmolApplet at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1398) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:725) ... 2 more Caused by: java.lang.ClassNotFoundException: JmolApplet at net.sourceforge.jnlp.runtime.JNLPClassLoader.loadClass(JNLPClassLoader.java:1398) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:725) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:676) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:886) java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:154) at sun.applet.AppletPanel.run(AppletPanel.java:379) at java.lang.Thread.run(Thread.java:722) java.lang.NullPointerException at sun.applet.AppletPanel.run(AppletPanel.java:429) at java.lang.Thread.run(Thread.java:722)
so basically what it needs is the jmol applet?
Doing some trial error... $ sudo cp JmolApplet0.jar /usr/share/java/ in console I started firefox I see: java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (fedora-2.2.1.fc18.8-x86_64) OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode) 2012-07-03 09:46:57-0400 [HTTPChannel,3,127.0.0.1] Request error: Connection to the other side was lost in a non-clean fashion. Jmol applet jmolApplet0__084094901940265__ initializing AppletRegistry.checkIn(jmolApplet0__084094901940265__) error preloading org.jmol.popup.JmolPopup: org.jmol.popup.JmolPopup net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.appletwrapper.ClassPreloader - -1 - run urlImage=jar:http://localhost:8000/java/jmol/JmolApplet0.jar!/jmol75x29x8.gif 1722 script command tokens applet context: -applet appletDocumentBase=http://localhost:8000/home/admin/0/ appletCodeBase=http://localhost:8000/java/jmol/ (C) 2009 Jmol Development Jmol Version: 12.0.48 2011-07-04 18:26 java.vendor: Oracle Corporation java.version: 1.7.0_03-icedtea os.name: Linux memory: 8.2/30.9 processors available: 4 useCommandThread: false appletId:jmolApplet0__084094901940265__ defaults = "Jmol" backgroundColor = "black" language=en_US FileManager opening http://localhost:8000/home/admin/0/cells/10/sage0-size500.jmol?1341323212 FileManager opening http://localhost:8000/home/admin/0/sage0-size500-200971641.jmol.zip FileManager.getAtomSetCollectionFromString() 2012-07-03 09:46:58-0400 [HTTPChannel,2,127.0.0.1] Request error: Connection to the other side was lost in a non-clean fashion. The Resolver thinks Xyz File reader was not found:Xyz eval ERROR: File reader was not found:Xyz ----line 1 command 1 of SCRIPT: data "model list" 10 empty Xx -6.0 -7.0 -3.0 Xx 0.0 -7.0 -3.0 Xx 6.0 -7.0 -3.0 Xx 7.0 -6.0 -3.0 Xx 7.0 0.0 -3.0 Xx 7.0 6.0 -3.0 Xx -7.0 -6.0 -3.0 Xx -7.0 -6.0 0.0 Xx -7.0 -6.0 3.0 Xx 5.5 5.5 5.5 end >> "model list" << ----line 2 command 2 of /home/admin/0/cells/10/sage0-size500.jmol?1341323212: script "SCRIPT" ---- script "/home/admin/0/cells/10/sage0-size500.jmol?1341323212" ---%<---%<---%<--- Starting over after: $ sudo cp JmolApplet0_ReadersMolXyz.jar /usr/share/java/ urlImage=jar:http://localhost:8000/java/jmol/JmolApplet0.jar!/jmol75x29x8.gif Jmol applet jmolApplet0__7187534641393496__ initializing AppletRegistry.checkIn(jmolApplet0__7187534641393496__) error preloading org.jmol.popup.JmolPopup: org.jmol.popup.JmolPopup net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.appletwrapper.ClassPreloader - -1 - run 1722 script command tokens applet context: -applet appletDocumentBase=http://localhost:8000/home/admin/0/ appletCodeBase=http://localhost:8000/java/jmol/ (C) 2009 Jmol Development Jmol Version: 12.0.48 2011-07-04 18:26 java.vendor: Oracle Corporation java.version: 1.7.0_03-icedtea os.name: Linux memory: 18.5/38.9 processors available: 4 useCommandThread: false appletId:jmolApplet0__7187534641393496__ defaults = "Jmol" backgroundColor = "black" language=en_US FileManager opening http://localhost:8000/home/admin/0/cells/10/sage0-size500.jmol?1341323399 FileManager opening http://localhost:8000/home/admin/0/sage0-size500-200971641.jmol.zip FileManager.getAtomSetCollectionFromString() The Resolver thinks Xyz File reader was not found:Xyz eval ERROR: File reader was not found:Xyz ----line 1 command 1 of SCRIPT: data "model list" 10 empty Xx -6.0 -7.0 -3.0 Xx 0.0 -7.0 -3.0 Xx 6.0 -7.0 -3.0 Xx 7.0 -6.0 -3.0 Xx 7.0 0.0 -3.0 Xx 7.0 6.0 -3.0 Xx -7.0 -6.0 -3.0 Xx -7.0 -6.0 0.0 Xx -7.0 -6.0 3.0 Xx 5.5 5.5 5.5 end >> "model list" << ----line 2 command 2 of /home/admin/0/cells/10/sage0-size500.jmol?1341323399: script "SCRIPT" ---- script "/home/admin/0/cells/10/sage0-size500.jmol?1341323399" ---%<---%<---%<--- Starting over yet again after: $ sudo cp JmolApplet0_ReadersMolXyz.jar /usr/share/java/ urlImage=jar:http://localhost:8000/java/jmol/JmolApplet0.jar!/jmol75x29x8.gif Jmol applet jmolApplet0__662036085239166__ initializing AppletRegistry.checkIn(jmolApplet0__662036085239166__) error preloading org.jmol.popup.JmolPopup: org.jmol.popup.JmolPopup net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.appletwrapper.ClassPreloader - -1 - run 1722 script command tokens applet context: -applet appletDocumentBase=http://localhost:8000/home/admin/0/ appletCodeBase=http://localhost:8000/java/jmol/ (C) 2009 Jmol Development Jmol Version: 12.0.48 2011-07-04 18:26 java.vendor: Oracle Corporation java.version: 1.7.0_03-icedtea os.name: Linux memory: 18.2/38.9 processors available: 4 useCommandThread: false appletId:jmolApplet0__662036085239166__ defaults = "Jmol" backgroundColor = "black" language=en_US FileManager opening http://localhost:8000/home/admin/0/cells/10/sage0-size500.jmol?1341323516 FileManager opening http://localhost:8000/home/admin/0/sage0-size500-200971641.jmol.zip FileManager.getAtomSetCollectionFromString() The Resolver thinks Xyz File reader was not found:Xyz eval ERROR: File reader was not found:Xyz ----line 1 command 1 of SCRIPT: data "model list" 10 empty Xx -6.0 -7.0 -3.0 Xx 0.0 -7.0 -3.0 Xx 6.0 -7.0 -3.0 Xx 7.0 -6.0 -3.0 Xx 7.0 0.0 -3.0 Xx 7.0 6.0 -3.0 Xx -7.0 -6.0 -3.0 Xx -7.0 -6.0 0.0 Xx -7.0 -6.0 3.0 Xx 5.5 5.5 5.5 end >> "model list" << ----line 2 command 2 of /home/admin/0/cells/10/sage0-size500.jmol?1341323516: script "SCRIPT" ---- script "/home/admin/0/cells/10/sage0-size500.jmol?1341323516" ---%<---%<---%<--- Trying to just copy all jar files.... same error. BRB, restarting firefox :-)
After restarting firefox it works! Sample screenshot: http://fedorapeople.org/~pcpa/rawhide-sage-jmol-test.png I will copy only appletweb, JmolApplet0.jar and JmolApplet0_ReadersMolXyz.jar, then restart firefox and see if it still works next...
Hmm, needs more stuff, it almost works with only the above files, just that it does not display anything... I think JmolData.jar is required. Testing.
Still does not work, in console I see: java version "1.7.0_03-icedtea" OpenJDK Runtime Environment (fedora-2.2.1.fc18.8-x86_64) OpenJDK 64-Bit Server VM (build 23.0-b21, mixed mode) urlImage=jar:http://localhost:8000/java/jmol/JmolApplet0.jar!/jmol75x29x8.gif error preloading org.jmol.popup.JmolPopup: org.jmol.popup.JmolPopup net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.appletwrapper.ClassPreloader - -1 - run 1722 script command tokens applet context: -applet appletDocumentBase=http://localhost:8000/home/admin/0/ appletCodeBase=http://localhost:8000/java/jmol/ (C) 2009 Jmol Development Jmol Version: 12.0.48 2011-07-04 18:26 java.vendor: Oracle Corporation java.version: 1.7.0_03-icedtea os.name: Linux memory: 13.6/38.9 processors available: 4 useCommandThread: false appletId:jmolApplet0__05394324771559__ defaults = "Jmol" backgroundColor = "black" language=en_US FileManager opening http://localhost:8000/home/admin/0/cells/10/sage0-size500.jmol?1341324483 FileManager opening http://localhost:8000/home/admin/0/sage0-size500-551454699.jmol.zip FileManager.getAtomSetCollectionFromString() 2012-07-03 10:08:07-0400 [HTTPChannel,6,127.0.0.1] Request error: Connection to the other side was lost in a non-clean fashion. The Resolver thinks Xyz reading 10 atoms ModelSet: haveSymmetry:false haveUnitcells:false haveFractionalCoord:false 1 model in this collection. Use getProperty "modelInfo" or getProperty "auxiliaryInfo" to inspect them. Default Van der Waals type for model set to Babel Time to autoBond: 3 ms ModelSet: autobonding; use autobond=false to not generate bonds automatically no data Could not instantiate shape:org.jmol.shapesurface.Pmesh: org.jmol.shapesurface.Pmesh net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - isosurface org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run reading isosurface data from http://localhost:8000/home/admin/0/sage0-size500-551454699.jmol.zip|obj_138074.pmesh Could not instantiate shape:org.jmol.shapesurface.Pmesh: org.jmol.shapesurface.Pmesh net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - colorShape org.jmol.script.ScriptEvaluator - -1 - color org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapespecial.Draw: org.jmol.shapespecial.Draw net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - draw org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapesurface.Isosurface: org.jmol.shapesurface.Isosurface net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - isosurface org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run Could not instantiate shape:org.jmol.shapesurface.Pmesh: org.jmol.shapesurface.Pmesh net.sourceforge.jnlp.runtime.JNLPClassLoader - 1545 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1391 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.viewer.ShapeManager - -1 - allocateShape org.jmol.viewer.ShapeManager - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - loadShape org.jmol.script.ScriptEvaluator - -1 - isosurface org.jmol.script.ScriptEvaluator - -1 - processShapeCommand org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - script org.jmol.script.ScriptEvaluator - -1 - instructionDispatchLoop org.jmol.script.ScriptEvaluator - -1 - evaluateCompiledScript org.jmol.viewer.Viewer - -1 - evalStringWaitStatus org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - runNextScript org.jmol.viewer.ScriptManager$ScriptQueueRunnable - -1 - run java.lang.Thread - 722 - run ---%<---%<---%<--- and it looks like: http://fedorapeople.org/~pcpa/rawhide-sage-jmol-test-fail.png Also, if running the notebook on a server, it may be required to install the signed jars also... But I am not much experienced with this stuff. In my Mandriva sagemath package, I just install all jmol files under /usr/share/jmol and make the sage notebook symlink to there.
(In reply to comment #5) > Also, if running the notebook on a server, it may be required to install the > signed jars also... Yes, but I have no idea whether signing jars is possible on the Fedora buildsystem. The RPMs are, after all, signed (in a separate process). > But I am not much experienced with this stuff. In my > Mandriva sagemath package, I just install all jmol files under > /usr/share/jmol and make the sage notebook symlink to there. OK. Please find out which files are necessary, and then we can have a look at how it's possible to build JMol in such a way as to generate them.
(In reply to comment #6) > (In reply to comment #5) > > Also, if running the notebook on a server, it may be required to install the > > signed jars also... > > Yes, but I have no idea whether signing jars is possible on the Fedora > buildsystem. The RPMs are, after all, signed (in a separate process). To make a consistent package, I believe all jar files should be in installed. The "signed" jars are in java concept of trusted code, that still should ask the user if she trust the code to be executed, and remember about that. See freebsd port, that appears to have a "self signing" build target: http://www.freebsd.org/cgi/cvsweb.cgi/ports/science/jmol/ > > But I am not much experienced with this stuff. In my > > Mandriva sagemath package, I just install all jmol files under > > /usr/share/jmol and make the sage notebook symlink to there. > > OK. Please find out which files are necessary, and then we can have a look > at how it's possible to build JMol in such a way as to generate them. I suggest installing all of them. But you can choose to make a jmol-applet package, e.g. the _i18n.jar ones are for localization. A jmol-applet subpackage appears to be what debian does: http://anonscm.debian.org/viewvc/debichem/unstable/jmol/
Trying again, from a clean environment, using my last experimental sagemath build from http://fedorapeople.org/~pcpa/sagemath/RPMS/x86_64/sagemath-5.2-1.fc18.x86_64.rpm $ sudo mkdir /usr/share/jmol $ sudo cp -ar BUILD/jmol-12.0.48/appletweb/ /usr/share/jmol $ sudo ln -s /usr/share/java/JmolApplet.jar /usr/share/jmol $ sudo rm -f /usr/share/sagemath/devel/sagenb/data/jmol $ sudo ln -s /usr/share/jmol /usr/share/sagemath/devel/sagenb/data Then, in sage prompt: $ sage ---------------------------------------------------------------------- | Sage Version 5.2, Release Date: 2012-07-25 | | Type "notebook()" for the browser-based notebook interface. | | Type "help()" for help. | ---------------------------------------------------------------------- sage: notebook() The notebook files are stored in: sage_notebook.sagenb ************************************************** * * * Open your web browser to http://localhost:8081 * * * ************************************************** Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 9: reading configurations from ~/.fonts.conf is deprecated. 2012-08-18 11:40:07-0400 [-] Log opened. 2012-08-18 11:40:07-0400 [-] twistd 12.1.0 (/usr/bin/python 2.7.3) starting up. 2012-08-18 11:40:07-0400 [-] reactor class: twisted.internet.epollreactor.EPollReactor. 2012-08-18 11:40:07-0400 [-] QuietSite starting on 8081 2012-08-18 11:40:07-0400 [-] Starting factory <__builtin__.QuietSite instance at 0x3381878> After it opens a firefox tab, I choose help->tutorial->plotting and select a plot that would use jmol. What I see in the xterm I started firefox is: $ urlImage=jar:http://localhost:8081/java/jmol/JmolApplet0.jar!/jmol75x29x8.gif Jmol applet jmolApplet0__642905635139684__ initializing AppletRegistry.checkIn(jmolApplet0__642905635139684__) error preloading org.jmol.popup.JmolPopup: org.jmol.popup.JmolPopup net.sourceforge.jnlp.runtime.JNLPClassLoader - 1551 - loadClassExt net.sourceforge.jnlp.runtime.JNLPClassLoader - 1397 - loadClass java.lang.Class - -2 - forName0 java.lang.Class - 186 - forName org.jmol.appletwrapper.ClassPreloader - -1 - run 1722 script command tokens applet context: -applet appletDocumentBase=http://localhost:8081/doc/live/tutorial/ appletCodeBase=http://localhost:8081/java/jmol/ (C) 2009 Jmol Development Jmol Version: 12.0.48 2011-07-04 18:26 java.vendor: Oracle Corporation java.version: 1.7.0_05-icedtea os.name: Linux memory: 17.0/30.4 processors available: 4 useCommandThread: false appletId:jmolApplet0__642905635139684__ defaults = "Jmol" backgroundColor = "black" language=en_US FileManager opening http://localhost:8081/home/_sage_/75/cells/20/sage0-size500.jmol?1345304425 FileManager opening http://localhost:8081/home/_sage_/75/cells/20/cells/20/sage0-size500-975865488.jmol.zip script ERROR: script ERROR: io error reading http://localhost:8081/home/_sage_/75/cells/20/cells/20/sage0-size500-975865488.jmol.zip|SCRIPT: java.io.FileNotFoundException: http://localhost:8081/home/_sage_/75/cells/20/cells/20/sage0-size500-975865488.jmol.zip It appears it is some kind of openjdk or icedtea-web issue, that I remember having in the past, with duplicated path contents, i.e. the file is actually at $ find /home/pcpa/.sage/ -name sage0-size500-975865488.jmol.zip /home/pcpa/.sage/sage_notebook.sagenb/home/__store__/9/9b/9bb/9bbe/_sage_/75/cells/20/sage0-size500-975865488.jmol.zip That is, the error should be the "/cells/20/cells/20/" that looks duplicated. I once had this issue of paths where it work with sun java but require a patch for openjdk java, but it was long long ago; maybe it is happening again. Long history short, it should require installing the appletweb subdirectory with Jmol.js at least. From that point, I should be able to make symlinks, or, my package could install Jmol.js and still use the system wide jmol. [sorry, I understand this bugzilla reply looks like gibberish :-)]
I found a way to make it work, and unless making a proper jmol-applet package, it will require no changes to the current jmol package. It consists of minor sagemath notebook patching, installing an appletweb/Jmol.js to ".../jmol" and symlinking system JmolApplet.jar and vecmath.jar to ".../jmol". One of the patches is to call jmolInitialize explicitly stating what jars to load, and passing the string "JmolApplet.jar,vecmath.jar". In my tests it works correctly...