On second thought, I should just fix this now. Am I correct I need to install package r-3.6.2 and rebuld?
On Wednesday, April 8, 2020 at 11:54:39 AM UTC-5, hbetx9 wrote: > > Tried from source and got this error: > > Error building Sage. > > The following package(s) may have failed to build (not necessarily > during this run of 'make all-start'): > > * package: r-3.6.2 > log file: /home/lmiller/sage-9.0/logs/pkgs/r-3.6.2.log > build directory: /home/lmiller/sage-9.0/local/var/tmp/sage/build/r-3.6.2 > > which I'm guessing is only needed if one wants to use integration with R. > At this time I don't but in future I might, should I install R and > rebuild? Build took a LONG time. > > Also, version 9 is now in ~/SAGE_ROOT/local but the system version is > still 8.1. I guess I need to modify path or create a symlink to get sage > available to terminal on boot? > > Finally, can the color scheme for sage on the terminal be changed? I used > a dark background so this is not easy to read. > > Thanks in advance! > > On Wednesday, April 8, 2020 at 12:14:48 AM UTC-5, Dima Pasechnik wrote: >> >> On Wed, Apr 8, 2020 at 11:05 AM hbetx9 <lance....@gmail.com> wrote: >> >> > I installed from package on Mint 19.3. I'm happy to run whatever is >> needed to help diagnose. For context, I have installed python 2.7.17 and >> the package pulled sage 8.1. I'm not sure why the packages didn't pull the >> most up to date. Is there a PPA I need to add? >> > >> >> my understanding is that MInt 19 by default follows Ubunu 18.04 (which >> indeed has Sage 8.1). >> We'd recommend you to build Sage (say, the latest stable version, 9.0) >> from source instead. >> While latest Ubuntu does have Sage 9.0, I don't know how to get it >> installed on your Mint, from PPA or otherwise. >> Perhaps you can ask on a Mint forum. >> >> HTH >> Dima >> >> >> > Best, >> > Lance >> > >> > On Saturday, April 4, 2020 at 9:49:09 PM UTC-5, Dima Pasechnik wrote: >> >> >> >> On Sun, Apr 5, 2020 at 7:44 AM Lance Edward Miller <lem...@uark.edu> >> wrote: >> >> > >> >> > After install on Linux Mint 19.3, I got the following crash report. >> Any help is appreciated. >> >> >> >> What exactly have you installed? >> >> A binary installation, or done a build from sources? >> >> >> >> > >> >> > >> *************************************************************************** >> >> > >> >> > IPython post-mortem report >> >> > >> >> > {'commit_hash': u'b467d487e', >> >> > 'commit_source': 'installation', >> >> > 'default_encoding': 'UTF-8', >> >> > 'ipython_path': '/usr/lib/python2.7/dist-packages/IPython', >> >> > 'ipython_version': '5.5.0', >> >> > 'os_name': 'posix', >> >> > 'platform': >> 'Linux-5.3.0-40-generic-x86_64-with-LinuxMint-19.3-tricia', >> >> > 'sys_executable': '/usr/bin/python', >> >> > 'sys_platform': 'linux2', >> >> > 'sys_version': '2.7.17 (default, Nov 7 2019, 10:07:09) \n[GCC >> 7.4.0]'} >> >> > >> >> > >> *************************************************************************** >> >> > >> >> > >> >> > >> >> > >> *************************************************************************** >> >> > >> >> > Crash traceback: >> >> > >> >> > >> --------------------------------------------------------------------------- >> >> > >> --------------------------------------------------------------------------- >> >> > ImportError Python 2.7.17: >> /usr/bin/python >> >> > Sat Apr 4 >> 18:39:09 2020 >> >> > A problem occurred executing Python code. Here is the sequence of >> function >> >> > calls leading up to the error, with the most recent (innermost) call >> last. >> >> > /usr/share/sagemath/bin/sage-ipython in <module>() >> >> > 1 #!/usr/bin/env python >> >> > 2 # -*- coding: utf-8 -*- >> >> > 3 """ >> >> > 4 Sage IPython startup script. >> >> > 5 """ >> >> > 6 >> >> > 7 from sage.repl.interpreter import SageTerminalApp >> >> > 8 >> >> > 9 app = SageTerminalApp.instance() >> >> > ---> 10 app.initialize() >> >> > global app.initialize = <bound method >> SageTerminalApp.initialize of <sage.repl.interpreter.SageTerminalApp object >> at 0x7f76836e7150>> >> >> > 11 app.start() >> >> > >> >> > <decorator-gen-110> in >> initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) >> >> > >> >> > /usr/lib/python2.7/dist-packages/traitlets/config/application.pyc in >> catch_config_error(method=<function initialize>, >> app=<sage.repl.interpreter.SageTerminalApp object>, *args=(None,), >> **kwargs={}) >> >> > 72 TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR = False >> >> > 73 else: >> >> > 74 raise ValueError("Unsupported value for environment >> variable: 'TRAITLETS_APPLICATION_RAISE_CONFIG_FILE_ERROR' is set to '%s' >> which is none of {'0', '1', 'false', 'true', ''}."% _envvar ) >> >> > 75 >> >> > 76 >> >> > 77 @decorator >> >> > 78 def catch_config_error(method, app, *args, **kwargs): >> >> > 79 """Method decorator for catching invalid config >> (Trait/ArgumentErrors) during init. >> >> > 80 >> >> > 81 On a TraitError (generally caused by bad config), this >> will print the trait's >> >> > 82 message, and exit the app. >> >> > 83 >> >> > 84 For use on init methods, to prevent invoking excepthook >> on invalid input. >> >> > 85 """ >> >> > 86 try: >> >> > ---> 87 return method(app, *args, **kwargs) >> >> > method = <function initialize at 0x7f76806919d0> >> >> > app = <sage.repl.interpreter.SageTerminalApp object at >> 0x7f76836e7150> >> >> > args = (None,) >> >> > kwargs = {} >> >> > 88 except (TraitError, ArgumentError) as e: >> >> > 89 app.print_help() >> >> > 90 app.log.fatal("Bad config encountered during >> initialization:") >> >> > 91 app.log.fatal(str(e)) >> >> > 92 app.log.debug("Config at the time: %s", app.config) >> >> > 93 app.exit(1) >> >> > 94 >> >> > 95 >> >> > 96 class ApplicationError(Exception): >> >> > 97 pass >> >> > 98 >> >> > 99 >> >> > 100 class LevelFormatter(logging.Formatter): >> >> > 101 """Formatter with additional `highlevel` record >> >> > 102 >> >> > >> >> > /usr/lib/python2.7/dist-packages/IPython/terminal/ipapp.pyc in >> initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None) >> >> > 301 >> >> > 302 return super(TerminalIPythonApp, >> self).parse_command_line(argv) >> >> > 303 >> >> > 304 @catch_config_error >> >> > 305 def initialize(self, argv=None): >> >> > 306 """Do actions after construct, but before starting >> the app.""" >> >> > 307 super(TerminalIPythonApp, self).initialize(argv) >> >> > 308 if self.subapp is not None: >> >> > 309 # don't bother initializing further, starting >> subapp >> >> > 310 return >> >> > 311 # print self.extra_args >> >> > 312 if self.extra_args and not self.something_to_run: >> >> > 313 self.file_to_run = self.extra_args[0] >> >> > 314 self.init_path() >> >> > 315 # create the shell >> >> > --> 316 self.init_shell() >> >> > self.init_shell = <bound method SageTerminalApp.init_shell >> of <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>> >> >> > 317 # and draw the banner >> >> > 318 self.init_banner() >> >> > 319 # Now a variety of things that happen after the >> banner is printed. >> >> > 320 self.init_gui_pylab() >> >> > 321 self.init_extensions() >> >> > 322 self.init_code() >> >> > 323 >> >> > 324 def init_shell(self): >> >> > 325 """initialize the InteractiveShell instance""" >> >> > 326 # Create an InteractiveShell instance. >> >> > 327 # shell.display_banner should always be False for >> the terminal >> >> > 328 # based app, because we call shell.show_banner() by >> hand below >> >> > 329 # so the banner shows *before* all extension loading >> stuff. >> >> > 330 self.shell = >> self.interactive_shell_class.instance(parent=self, >> >> > 331 profile_dir=self.profile_dir, >> >> > >> >> > /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in >> init_shell(self=<sage.repl.interpreter.SageTerminalApp object>) >> >> > 730 This code is based on >> >> > 731 :meth:`TerminalIPythonApp.init_shell`. >> >> > 732 >> >> > 733 EXAMPLES:: >> >> > 734 >> >> > 735 sage: from sage.repl.interpreter import >> SageTerminalApp >> >> > 736 sage: app = SageTerminalApp.instance() >> >> > 737 sage: app.shell >> >> > 738 <sage.repl.interpreter.SageTestShell object at >> 0x...> >> >> > 739 """ >> >> > 740 # Shell initialization >> >> > 741 self.shell = self.shell_class.instance( >> >> > 742 parent=self, >> >> > 743 config=self.config, >> >> > 744 profile_dir=self.profile_dir, >> >> > --> 745 ipython_dir=self.ipython_dir) >> >> > global ipython_dir = undefined >> >> > self.ipython_dir = u'/home/lmiller/.ipython' >> >> > 746 self.shell.configurables.append(self) >> >> > 747 self.shell.has_sage_extensions = SAGE_EXTENSION in >> self.extensions >> >> > 748 >> >> > 749 # Load the %lprun extension if available >> >> > 750 try: >> >> > 751 import line_profiler >> >> > 752 except ImportError: >> >> > 753 pass >> >> > 754 else: >> >> > 755 self.extensions.append('line_profiler') >> >> > 756 >> >> > 757 if self.shell.has_sage_extensions: >> >> > 758 self.extensions.remove(SAGE_EXTENSION) >> >> > 759 >> >> > 760 # load sage extension here to get a crash if >> >> > >> >> > /usr/lib/python2.7/dist-packages/traitlets/config/configurable.pyc >> in instance(cls=<class >> 'sage.repl.interpreter.SageTerminalInteractiveShell'>, *args=(), >> **kwargs={'config': {'InteractiveShell': {'term_title': True, 'color...ue}, >> 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir': >> u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp >> object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>}) >> >> > 397 >>> class Foo(SingletonConfigurable): pass >> >> > 398 >>> foo = Foo.instance() >> >> > 399 >>> foo == Foo.instance() >> >> > 400 True >> >> > 401 >> >> > 402 Create a subclass that is retrived using the base >> class instance:: >> >> > 403 >> >> > 404 >>> class Bar(SingletonConfigurable): pass >> >> > 405 >>> class Bam(Bar): pass >> >> > 406 >>> bam = Bam.instance() >> >> > 407 >>> bam == Bar.instance() >> >> > 408 True >> >> > 409 """ >> >> > 410 # Create and save the instance >> >> > 411 if cls._instance is None: >> >> > --> 412 inst = cls(*args, **kwargs) >> >> > inst = undefined >> >> > cls = <class >> 'sage.repl.interpreter.SageTerminalInteractiveShell'> >> >> > args = () >> >> > kwargs = {'ipython_dir': u'/home/lmiller/.ipython', >> 'profile_dir': <IPython.core.profiledir.ProfileDir object at >> 0x7f76806b4d50>, 'config': {'InteractiveShell': {'term_title': True, >> 'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': <class >> 'sage.repl.prompts.SagePrompts'>, 'separate_in': '', >> 'ast_node_interactivity': 'all', 'simple_prompt': False}, >> 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp': >> {'shell_class': <class >> 'sage.repl.interpreter.SageTerminalInteractiveShell'>, 'display_banner': >> False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp': >> {'force_interact': True}}, 'parent': <sage.repl.interpreter.SageTerminalApp >> object at 0x7f76836e7150>} >> >> > 413 # Now make sure that the instance will also be >> returned by >> >> > 414 # parent classes' _instance attribute. >> >> > 415 for subclass in cls._walk_mro(): >> >> > 416 subclass._instance = inst >> >> > 417 >> >> > 418 if isinstance(cls._instance, cls): >> >> > 419 return cls._instance >> >> > 420 else: >> >> > 421 raise MultipleInstanceError( >> >> > 422 'Multiple incompatible subclass instances of >> ' >> >> > 423 '%s are being created.' % cls.__name__ >> >> > 424 ) >> >> > 425 >> >> > 426 @classmethod >> >> > 427 def initialized(cls): >> >> > >> >> > >> /usr/lib/python2.7/dist-packages/IPython/terminal/interactiveshell.pyc in >> __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>, >> *args=(), **kwargs={'config': {'InteractiveShell': {'term_title': True, >> 'color...ue}, 'SageTerminalApp': {'force_interact': True}}, 'ipython_dir': >> u'/home/lmiller/.ipython', 'parent': <sage.repl.interpreter.SageTerminalApp >> object>, 'profile_dir': <IPython.core.profiledir.ProfileDir object>}) >> >> > 423 >> >> > 424 def init_alias(self): >> >> > 425 # The parent class defines aliases that can be >> safely used with any >> >> > 426 # frontend. >> >> > 427 super(TerminalInteractiveShell, self).init_alias() >> >> > 428 >> >> > 429 # Now define aliases that only make sense on the >> terminal, because they >> >> > 430 # need direct access to the console in a way that we >> can't emulate in >> >> > 431 # GUI or web frontend >> >> > 432 if os.name == 'posix': >> >> > 433 for cmd in ['clear', 'more', 'less', 'man']: >> >> > 434 self.alias_manager.soft_define_alias(cmd, >> cmd) >> >> > 435 >> >> > 436 >> >> > 437 def __init__(self, *args, **kwargs): >> >> > --> 438 super(TerminalInteractiveShell, >> self).__init__(*args, **kwargs) >> >> > global super = undefined >> >> > global TerminalInteractiveShell = <class >> 'IPython.terminal.interactiveshell.TerminalInteractiveShell'> >> >> > self.__init__ = <bound method >> SageTerminalInteractiveShell.__init__ of >> <sage.repl.interpreter.SageTerminalInteractiveShell object at >> 0x7f76806b4910>> >> >> > args = () >> >> > kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir >> object at 0x7f76806b4d50>, 'config': {'InteractiveShell': {'term_title': >> True, 'colors': 'LightBG', 'confirm_exit': False, 'prompts_class': <class >> 'sage.repl.prompts.SagePrompts'>, 'separate_in': '', >> 'ast_node_interactivity': 'all', 'simple_prompt': False}, >> 'InteractiveShellApp': {'extensions': ['sage']}, 'TerminalIPythonApp': >> {'shell_class': <class >> 'sage.repl.interpreter.SageTerminalInteractiveShell'>, 'display_banner': >> False, 'test_shell': False, 'verbose_crash': True}, 'SageTerminalApp': >> {'force_interact': True}}, 'ipython_dir': u'/home/lmiller/.ipython', >> 'parent': <sage.repl.interpreter.SageTerminalApp object at 0x7f76836e7150>} >> >> > 439 self.init_prompt_toolkit_cli() >> >> > 440 self.init_term_title() >> >> > 441 self.keep_running = True >> >> > 442 >> >> > 443 self.debugger_history = InMemoryHistory() >> >> > 444 >> >> > 445 def ask_exit(self): >> >> > 446 self.keep_running = False >> >> > 447 >> >> > 448 rl_next_input = None >> >> > 449 >> >> > 450 def pre_prompt(self): >> >> > 451 if self.rl_next_input: >> >> > 452 # We can't set the buffer here, because it will >> be reset just after >> >> > 453 # this. Adding a callable to pre_run_callables >> does what we need >> >> > >> >> > /usr/lib/python2.7/dist-packages/IPython/core/interactiveshell.pyc >> in __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell >> object>, ipython_dir=u'/home/lmiller/.ipython', >> profile_dir=<IPython.core.profiledir.ProfileDir object>, user_module=None, >> user_ns=None, custom_exceptions=((), None), **kwargs={'config': >> {'InteractiveShell': {'term_title': True, 'color...ue}, 'SageTerminalApp': >> {'force_interact': True}}, 'parent': <sage.repl.interpreter.SageTerminalApp >> object>}) >> >> > 488 self.init_builtins() >> >> > 489 >> >> > 490 # The following was in post_config_initialization >> >> > 491 self.init_inspector() >> >> > 492 if py3compat.PY3: >> >> > 493 self.raw_input_original = input >> >> > 494 else: >> >> > 495 self.raw_input_original = raw_input >> >> > 496 self.init_completer() >> >> > 497 # TODO: init_io() needs to happen before >> init_traceback handlers >> >> > 498 # because the traceback handlers hardcode the >> stdout/stderr streams. >> >> > 499 # This logic in in debugger.Pdb and should >> eventually be changed. >> >> > 500 self.init_io() >> >> > 501 self.init_traceback_handlers(custom_exceptions) >> >> > 502 self.init_prompts() >> >> > --> 503 self.init_display_formatter() >> >> > self.init_display_formatter = <bound method >> SageTerminalInteractiveShell.init_display_formatter of >> <sage.repl.interpreter.SageTerminalInteractiveShell object at >> 0x7f76806b4910>> >> >> > 504 self.init_display_pub() >> >> > 505 self.init_data_pub() >> >> > 506 self.init_displayhook() >> >> > 507 self.init_magics() >> >> > 508 self.init_alias() >> >> > 509 self.init_logstart() >> >> > 510 self.init_pdb() >> >> > 511 self.init_extension_manager() >> >> > 512 self.init_payload() >> >> > 513 self.init_deprecation_warnings() >> >> > 514 self.hooks.late_startup_hook() >> >> > 515 self.events.trigger('shell_initialized', self) >> >> > 516 atexit.register(self.atexit_operations) >> >> > 517 >> >> > 518 def get_ipython(self): >> >> > >> >> > /usr/lib/python2.7/dist-packages/sage/repl/interpreter.pyc in >> init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell >> >> object>) >> >> > 245 >> >> > 246 sage: from sage.repl.interpreter import >> SageTerminalInteractiveShell >> >> > 247 sage: SageTerminalInteractiveShell() # not tested >> >> > 248 <sage.repl.interpreter.SageNotebookInteractiveShell >> object at 0x...> >> >> > 249 """ >> >> > 250 >> >> > 251 def init_display_formatter(self): >> >> > 252 """ >> >> > 253 Switch to the Sage IPython commandline rich output >> backend >> >> > 254 >> >> > 255 EXAMPLES:: >> >> > 256 >> >> > 257 sage: from sage.repl.interpreter import >> SageTerminalInteractiveShell >> >> > 258 sage: >> SageTerminalInteractiveShell().init_display_formatter() # not tested >> >> > 259 """ >> >> > --> 260 from sage.repl.rich_output.backend_ipython import >> BackendIPythonCommandline >> >> > global sage.repl.rich_output.backend_ipython = undefined >> >> > BackendIPythonCommandline = undefined >> >> > 261 backend = BackendIPythonCommandline() >> >> > 262 >> backend.get_display_manager().switch_backend(backend, shell=self) >> >> > 263 >> >> > 264 >> >> > 265 class SageTestShell(SageShellOverride, >> TerminalInteractiveShell): >> >> > 266 """ >> >> > 267 Test Shell >> >> > 268 >> >> > 269 Care must be taken in these doctests to quit the test >> shell in >> >> > 270 order to switch back the rich output display backend to >> the >> >> > 271 doctest backend. >> >> > 272 >> >> > 273 EXAMPLES:: >> >> > 274 >> >> > 275 sage: from sage.repl.interpreter import >> get_test_shell >> >> > >> >> > /usr/lib/python2.7/dist-packages/sage/repl/rich_output/__init__.py >> in <module>() >> >> > 1 # -*- encoding: utf-8 -*- >> >> > 2 >> >> > ----> 3 from .display_manager import get_display_manager >> >> > global display_manager = undefined >> >> > global get_display_manager = undefined >> >> > 4 from .pretty_print import pretty_print >> >> > 5 >> >> > 6 >> >> > >> >> > >> /usr/lib/python2.7/dist-packages/sage/repl/rich_output/display_manager.py >> in <module>() >> >> > 24 The Sage display manager using the doctest backend >> >> > 25 """ >> >> > 26 >> >> > 27 >> #***************************************************************************** >> >> >> >> > 28 # Copyright (C) 2015 Volker Braun <vbrau...@gmail.com> >> >> >> > 29 # >> >> > 30 # Distributed under the terms of the GNU General Public >> License (GPL) >> >> > 31 # as published by the Free Software Foundation; either >> version 2 of >> >> > 32 # the License, or (at your option) any later version. >> >> > 33 # http://www.gnu.org/licenses/ >> >> > 34 >> #***************************************************************************** >> >> >> >> > 35 >> >> > 36 >> >> > 37 import warnings >> >> > 38 >> >> > ---> 39 from sage.structure.sage_object import SageObject >> >> > global sage.structure.sage_object = undefined >> >> > global SageObject = undefined >> >> > 40 from sage.repl.rich_output.output_basic import ( >> >> > 41 OutputPlainText, OutputAsciiArt, OutputUnicodeArt, >> OutputLatex, >> >> > 42 ) >> >> > 43 from sage.repl.rich_output.preferences import >> DisplayPreferences >> >> > 44 >> >> > 45 >> >> > 46 class DisplayException(Exception): >> >> > 47 """ >> >> > 48 Base exception for all rich output-related exceptions. >> >> > 49 >> >> > 50 EXAMPLES:: >> >> > 51 >> >> > 52 sage: from sage.repl.rich_output.display_manager >> import DisplayException >> >> > 53 sage: raise DisplayException('foo') >> >> > 54 Traceback (most recent call last): >> >> > >> >> > ImportError: No module named sage_object >> >> > >> >> > >> *************************************************************************** >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> Groups "sage-support" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> send an email to sage-s...@googlegroups.com. >> >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/sage-support/CAPEqHYnjo432OyGqYztMZAXwew8KVaK72ZYYZL9e2ed%3DfZJoFw%40mail.gmail.com. >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "sage-support" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to sage-s...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/sage-support/defa3f57-b723-42d5-8be9-159ad5aa1d04%40googlegroups.com. >> >> >> > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-support/e5ae0b55-70f4-4d47-a88e-af6fbf4a40fb%40googlegroups.com.