I have built Sage from source (sage-10.4.tar.gz and sage-10.5.tar.gz) on four machines with different architectures and different derivatives of Debian.  On all machines the jmol viewer for 3d plots works under 10.4 but not under 10.5.  The RuntimeError Traceback is identical on all machines.  A copy of a Sage session is below. Except for the machine specific info the Traceback is identical for each installation. As you can see from the transcript, java is installed.  It is used by jmol in 10.4.  I don't know enough Python to see what the problem is.  Any help would be appreciated.

┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 10.5, Release Date: 2024-12-04                    │
│ Using Python 3.12.7. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
sage: !uname -a
Linux Iphegenia 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:19:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
sage: !lsb_release -d
Description:    Ubuntu 24.10
sage: !java --version
openjdk 21.0.5 2024-10-15
OpenJDK Runtime Environment (build 21.0.5+11-Ubuntu-1ubuntu124.10)
OpenJDK 64-Bit Server VM (build 21.0.5+11-Ubuntu-1ubuntu124.10, mixed mode, sharing)
sage: var('x y')
(x, y)
sage: plot3d(x*y, (-1,1), (-1,1), viewer="jmol")
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[5], line 1
----> 1 plot3d(x*y, (-Integer(1),Integer(1)), (-Integer(1),Integer(1)), viewer="jmol")

File ~/Sage/sage-10.5/local/var/lib/sage/venv-python3.12/lib/python3.12/site-packages/IPython/core/displayhook.py:268, in DisplayHook.__call__(self, result)
    266 self.start_displayhook()
    267 self.write_output_prompt()
--> 268 format_dict, md_dict = self.compute_format_data(result)
    269 self.update_user_ns(result)
    270 self.fill_exec_result(result)

File ~/Sage/sage-10.5/local/var/lib/sage/venv-python3.12/lib/python3.12/site-packages/IPython/core/displayhook.py:157, in DisplayHook.compute_format_data(self, result)
    127 def compute_format_data(self, result):
    128     """Compute format data of the object to be displayed.
    129
    130     The format data is a generalization of the :func:`repr` of an object.
   (...)
    155
    156     """
--> 157     return self.shell.display_formatter.format(result)

File ~/Sage/sage-10.5/src/sage/repl/display/formatter.py:187, in SageDisplayFormatter.format(self, obj, include, exclude)
    112 def format(self, obj, include=None, exclude=None):
    113     r"""
    114     Use the Sage rich output instead of IPython.
    115
   (...)
    185         I am repper
    186     """
--> 187     sage_format, sage_metadata = self.dm.displayhook(obj)
    188     assert PLAIN_TEXT in sage_format, 'plain text is always present'     190     # use Sage rich output for any except those native to IPython, but only
    191     # if it is not plain and dull

File ~/Sage/sage-10.5/src/sage/repl/rich_output/display_manager.py:800, in DisplayManager.displayhook(self, obj)
    798 self._backend.set_underscore_variable(obj)
    799 plain_text, rich_output = self._rich_output_formatter(obj, dict())
--> 800 return self._backend.displayhook(plain_text, rich_output)

File ~/Sage/sage-10.5/src/sage/repl/rich_output/backend_ipython.py:266, in BackendIPythonCommandline.displayhook(self, plain_text, rich_output)
    264     return ({'text/plain': msg}, {})
    265 elif isinstance(rich_output, OutputSceneJmol):
--> 266     msg = self.launch_jmol(rich_output, plain_text.text.get_str())
    267     return ({'text/plain': msg}, {})
    268 elif isinstance(rich_output, OutputSceneWavefront):

File ~/Sage/sage-10.5/src/sage/repl/rich_output/backend_ipython.py:367, in BackendIPythonCommandline.launch_jmol(self, output_jmol, plain_text)
    365 jdata = JmolData()
    366 if not jdata.is_jmol_available() and not DOCTEST_MODE:
--> 367     raise RuntimeError('jmol cannot run, no suitable java version found')
    368 launch_script = output_jmol.launch_script_filename()
    369 jmol_cmd = 'jmol'

RuntimeError: jmol cannot run, no suitable java version found
sage:


--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/87e704ba-846b-4f2a-abf2-a7a81e3cff5b%40gmail.com.

Reply via email to