That was it. I missed that jmol was optional now. Thanks On Thursday, December 12, 2024 at 12:40:03 PM UTC-8 dim...@gmail.com wrote:
> This most probably just means that jmol package is not installed. It's > now optional, you need to explicitly say you want it installed. > The quickest way would by just > > make jmol > > from the directory you built Sage from. > Then try running your test again > > On Thu, Dec 12, 2024 at 12:24 PM Richard Quint > <richard...@gmail.com> wrote: > > > > 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+...@googlegroups.com. > > To view this discussion visit > https://groups.google.com/d/msgid/sage-devel/87e704ba-846b-4f2a-abf2-a7a81e3cff5b%40gmail.com > . > -- 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/fabf3f31-6247-4ee5-b60b-f520c1110ea5n%40googlegroups.com.