MarvinSpace installation fails on MAC with Apple Java

ChemAxon 909aee4527

29-10-2007 12:11:34

Quote:
MarvinSpace does not start neither from command line nor by double clicking the MarvinSpace icon on the Desktop.


The environment I use is Mac OS X 10.4.10 with Apple Java 1.5.0_07.


Installation fails with the following error details:





Native directory is /Users/user/.chemaxon/lib/jogl_1.0.0-pre-20060731-02_11_04


Jogl libraries not found at /Users/user/.chemaxon/lib/jogl_1.0.0-pre-20060731-02_11_04


Searching for jogl-natives-macosx-ppc.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-ppc.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-ppc.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/../lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-ppc.jar


...


ChemAxon 909aee4527

29-10-2007 12:29:27

There is a pre-released jogl.jar file included in Apple Java in the /Library/Java/Extensions directory.


This blocks MarvinSpace using the Jogl version is supplies.





To solve this we use a java setting to by-pass the extension when MarvinSpace is launched:
Code:
java -Djava.ext.dirs="" chemaxon.marvin.space.gui.MSpace






The corrected launcher script is attached, it should be extracted to /Applications/ChemAxon/MarvinBeans/bin/mspace overwriting the previous script file.

User c3185a12b6

25-11-2007 20:44:00

upgraded to Mac OSX 10.4.11. Then installed Marvinbeans 4.1.13. Got the /lib/jogl_1.0.0-pre-20060731-02_11_04 error. Replaced /bin/mspace (see this thread). Now MarvinSpace starts with no error. It loads the demo file HIV V3. However, its display canvas is blank (i.e. striated lines appearance). Any attempts to display give a NullPointerException with unknown reference input error. Tried loading a new pdb structure saved to disk. Says cannot load.


java.lang.RuntimeException


at chemaxon.marvin.space.GraphicCell.setContexts(Unknown Source)


at chemaxon.marvin.space.GraphicScene.setContexts(Unknown Source)


at chemaxon.marvin.space.GraphicScene.setSceneSize(Unknown Source)


at chemaxon.marvin.space.gui.JMSpaceMenuBar$21.run(Unknown Source)


at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)


at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)


at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)


at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)


at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)


at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)


at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)





TRIED opening directly from RCSB. the right panel shows that file is loaded, and shows correct chains, ligands etc. However, no structure view appears in the left pane, which remains striated. Tried various display options also. Ballandstick, spacefill surface display, etc.


No erros, no display.

ChemAxon efa1591b5a

26-11-2007 09:19:25

HI, what is the 4 character PDB code of the structure you tried to load and display?





Thanks


Miklos

User c3185a12b6

30-11-2007 23:52:35

Any pdb file fails. The issue is that the left side "canvas window" on which the structure would be drawn does not initialize at all. The stack trace pointed to Apple Java Jogl error, eventhough I am using the modified mspace which should redirect to jogl inside chemaxon/marvinbeans etc.








So then, I tried to copy a WORKING install from another mac portable running OSX10.4.0 (modified mspace).


This produced the following stacktrace:


Native directory is /Users/anil/.chemaxon/lib/jogl_1.0.0-pre-20060731-02_11_04


Jogl libraries not found at /Users/anil/.chemaxon/lib/jogl_1.0.0-pre-20060731-02_11_04


Searching for jogl-natives-macosx-universal.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/lib/../lib/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/MarvinSpace.app/../.install4j/i4jruntime.jar/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file does not exist: /Applications/ChemAxon/MarvinBeans/MarvinSpace.app/../lib/MarvinBeans.jar/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file does not exist: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar/jogl_1.0.0-pre-20060731-02_11_04/jogl-natives-macosx-universal.jar


Native jar file not found at /Applications/ChemAxon/MarvinBeans/lib/lib


Native jar file not found at /Applications/ChemAxon/MarvinBeans/lib


Native jar file not found at /Applications/ChemAxon/MarvinBeans/lib/../lib


Native jar file not found at /Applications/ChemAxon/MarvinBeans/MarvinSpace.app/../.install4j/i4jruntime.jar


Native jar file not found at /Applications/ChemAxon/MarvinBeans/MarvinSpace.app/../lib/MarvinBeans.jar


Native jar file not found at /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar


Installation failed.





The jar files referred to in the stacktrace do exist in those locations.

ChemAxon efa1591b5a

03-12-2007 14:43:34

And did you try what Judit has recommended:





Code:
java -Djava.ext.dirs="" chemaxon.marvin.space.gui.MSpace








see: http://www.chemaxon.com/forum/viewpost13890.html#13890





Miklos

ChemAxon 909aee4527

05-12-2007 14:39:38

Dear Anil,





thank you for the details, we'll try to further investigate this problem then.


Usually the following jogl.jar file causes this:


Code:
/Library/Java/Extensions/jogl.jar



It's unfortunate that it was put to the Java Extensions, this causes that this file is found first instead of the one we provide, which is


Code:
/Applications/ChemAxon/MarvinBeans/lib/jogl.jar



We'll find a solution to prevent the extension jar being found.





Regards,


Judit

User c3185a12b6

07-12-2007 23:34:43

I do not believe there is a way for the /L/J/Ext/java.jogl file to be made not found, as it would load as part of the first pass by the JVM. There is a way to unload an already loaded package and then load a different version of that package in java. This would not be done under the mspace shell script, but in a front-loading inspector java class. Main.java or whatever is the first class that runs should check the imported package for compatibility and (1) force an unload, (2) force a garbage collection for the unloaded package and then only then (3) load correct package. This is not trivial.





A simpler hack would be to change all classnames in the jogl-old to say myclassname-v100b1 etc and then recompile. there is no way this hack can be broken (because there would be no classnames from the new jogl that would be used).





There is a way to load multiple versions of a classfile and to reference it using its unique versionnumber as well. This is not trivial and requires reflection.