I _almost_ got this to work, I have R 3.6.3 but still get the following error:
* 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 Presumably, there is a flag or configure I can send make to use 3.6.3 correct? After all this is addressed, how to make this available system wide? Is there a script in the SAGE_LOCAL that will do it? I know that's a basic question but I'm curious. I removed Sage 8 so there should be no conflict. On Wednesday, April 8, 2020 at 12:56:29 PM UTC-5, hbetx9 wrote: > > 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/a8c077f4-9d91-46b5-a50c-e190b7a4edd2%40googlegroups.com.