<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Andreas.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Summary:  I don’t think the X3DJSAIL .jar was found in .</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I tried a very similar script to yours, putting the jar in the home folder.  I suspect that you don’t have access to your home folder, or the jar was uploaded as unreadable. Once I put my X3DJSAIL.3.3.full.jar in my local environment home, the classpath started working.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I tried without the jar in place, and got similar issues with PointProperties.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I tried running your remote jupyter and got similar results.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I suspect readability issues or something configured with your classpath/jar.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>We need to get the jar into the x3dpsail conda package, I think.  An unsolved problem.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It should run okay with a local anaconda.  I realize you want to run remote.  We understand, and will attempt to deliver a conda package in the next month or so.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you would like to help, we’re working on creating an x3dpsail package which includes all dependencies.  We have the start of a pip package, but so far, it won’t upload.   A Jupyter conda package is probably more acceptable to most people.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>It might be instructive to issue the first script with a single Java class, to see if it can find one Java class.  That will direct you to the smoking gun.  If it can’t load one class, then the classpath isn’t working.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If you set a CLASSPATH environmental variable (java’s classpath) in your docker image, it might work better, give it a try. I am staying away from docker for now.   Ensure that OpenJDK or similar is deployed with jnius.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Conclusion:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>X3dpsail has been shown to work with an absolute path or the jar on a local system.  Try to use an absolute path in conda in the short term (within your sandbox), until we get a conda package for x3dpsail.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>John</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Sent from <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> for Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='border:none;padding:0in'><b>From: </b><a href="mailto:andreasplesch@gmail.com">Andreas Plesch</a><br><b>Sent: </b>Tuesday, May 21, 2019 9:22 AM<br><b>To: </b><a href="mailto:x3d-public@web3d.org">X3D Graphics public mailing list</a><br><b>Subject: </b>[x3d-public] jupyter notebook</p></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Hi John,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was curious and gave Pyjnius+X3DJSAIL.3.3 from your repo a try with</p><p class=MsoNormal>your sphere.ipynb, using online jupyter with mybinder.org:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://github.com/andreasplesch/conda</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Use this link</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>https://mybinder.org/v2/gh/andreasplesch/conda/master?filepath=sphere.ipynb</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>and wait until the server starts with the mybinder built docker image</p><p class=MsoNormal>(takes a bit).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Executing then the first cell with all the autoclass generation does</p><p class=MsoNormal>something until there is an error:</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>JavaException                             Traceback (most recent call last)</p><p class=MsoNormal><ipython-input-1-149e86182885> in <module></p><p class=MsoNormal>     87 HAnimHumanoid =</p><p class=MsoNormal>autoclass('org.web3d.x3d.jsail.HAnim.HAnimHumanoidObject')</p><p class=MsoNormal>     88 HAnimJoint = autoclass('org.web3d.x3d.jsail.HAnim.HAnimJointObject')</p><p class=MsoNormal>---> 89 HAnimMotion = autoclass('org.web3d.x3d.jsail.HAnim.HAnimMotionObject')</p><p class=MsoNormal>     90 HAnimSegment = autoclass('org.web3d.x3d.jsail.HAnim.HAnimSegmentObject')</p><p class=MsoNormal>     91 HAnimSite = autoclass('org.web3d.x3d.jsail.HAnim.HAnimSiteObject')</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>/srv/conda/envs/notebook/lib/python3.7/site-packages/jnius/reflect.py</p><p class=MsoNormal>in autoclass(clsname)</p><p class=MsoNormal>    157</p><p class=MsoNormal>    158     # c = Class.forName(clsname)</p><p class=MsoNormal>--> 159     c = find_javaclass(clsname)</p><p class=MsoNormal>    160     if c is None:</p><p class=MsoNormal>    161         raise Exception('Java class {0} not found'.format(c))</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>jnius/jnius_export_func.pxi in jnius.find_javaclass()</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>JavaException: Class not found b'org/web3d/x3d/jsail/HAnim/HAnimMotionObject'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The good news is that the online jupyter notebook seems to work in</p><p class=MsoNormal>principle, eg. Pyjnius and java is installed, and the X3DJSAIL.3.3.jar</p><p class=MsoNormal>seems to be found as well.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Have you seen problems with the HAnimMotion before ?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Commenting out HAnimMotion, uncovers similar errors for PointProperties and X3D.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>JavaException                             Traceback (most recent call last)</p><p class=MsoNormal><ipython-input-1-f7be65079716> in <module></p><p class=MsoNormal>    255 Scene = autoclass('org.web3d.x3d.jsail.Core.SceneObject')</p><p class=MsoNormal>    256 unit = autoclass('org.web3d.x3d.jsail.Core.unitObject')</p><p class=MsoNormal>--> 257 X3D = autoclass('org.web3d.x3d.jsail.Core.X3DObject')</p><p class=MsoNormal>    258 SFBool = autoclass('org.web3d.x3d.jsail.fields.SFBoolObject')</p><p class=MsoNormal>    259 MFBool = autoclass('org.web3d.x3d.jsail.fields.MFBoolObject')</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>/srv/conda/envs/notebook/lib/python3.7/site-packages/jnius/reflect.py</p><p class=MsoNormal>in autoclass(clsname)</p><p class=MsoNormal>    157</p><p class=MsoNormal>    158     # c = Class.forName(clsname)</p><p class=MsoNormal>--> 159     c = find_javaclass(clsname)</p><p class=MsoNormal>    160     if c is None:</p><p class=MsoNormal>    161         raise Exception('Java class {0} not found'.format(c))</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>jnius/jnius_export_func.pxi in jnius.find_javaclass()</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>JavaException: Class not found b'org/web3d/x3d/jsail/Core/X3DObject'</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Is there another Pyjnius or X3DJSAIL.jar to try ?</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Pyjnius is installed with conda and a pyjnius line in environment.yml.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-Andreas</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>-- </p><p class=MsoNormal>Andreas Plesch</p><p class=MsoNormal>Waltham, MA 02453</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>_______________________________________________</p><p class=MsoNormal>x3d-public mailing list</p><p class=MsoNormal>x3d-public@web3d.org</p><p class=MsoNormal>http://web3d.org/mailman/listinfo/x3d-public_web3d.org</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>