Hi

I install SageMath version 8.6, Release Date: 2019-01-15
on Ubuntu 18.04 but can't run without superuser configuration

I add the file generated by the system.

I'll be very gratefull of any help

Jorge Garcia
Universidad Nacional de Cordoba
Argentina

-- 
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 post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.
***************************************************************************

IPython post-mortem report

{'commit_hash': u'033ab93c7',
 'commit_source': 'installation',
 'default_encoding': 'UTF-8',
 'ipython_path': '/opt/SageMath/local/lib/python2.7/site-packages/IPython',
 'ipython_version': '5.8.0',
 'os_name': 'posix',
 'platform': 'Linux-4.18.0-17-generic-x86_64-with-debian-buster-sid',
 'sys_executable': '/opt/SageMath/local/bin/python2',
 'sys_platform': 'linux2',
 'sys_version': '2.7.15 (default, Jan 18 2019, 07:04:55) \n[GCC 7.2.0]'}

***************************************************************************



***************************************************************************

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
OSError                      Python 2.7.15: /opt/SageMath/local/bin/python2
                                                   Wed Apr 17 16:07:42 2019
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.
/opt/SageMath/src/bin/sage-ipython in <module>()
      1 #!/usr/bin/env sage-python23
      2 # -*- coding: utf-8 -*-
      3 """
      4 Sage IPython startup script.
      5 """
      6 
      7 # Display startup banner. Do this before anything else to give the user
      8 # early feedback that Sage is starting.
      9 from sage.misc.banner import banner
     10 banner()
     11 
     12 from sage.repl.interpreter import SageTerminalApp
     13 
     14 app = SageTerminalApp.instance()
---> 15 app.initialize()
        global app.initialize = <bound method SageTerminalApp.initialize of 
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>>
     16 app.start()

<decorator-gen-110> in initialize(self=<sage.repl.interpreter.SageTerminalApp 
object>, argv=None)

/opt/SageMath/local/lib/python2.7/site-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 0x7f25172f1ed8>
        app = <sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>
        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 

/opt/SageMath/local/lib/python2.7/site-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 0x7f251b6a9250>>
    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,

/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in 
init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
    728             This code is based on
    729             :meth:`TerminalIPythonApp.init_shell`.
    730 
    731         EXAMPLES::
    732 
    733             sage: from sage.repl.interpreter import SageTerminalApp
    734             sage: app = SageTerminalApp.instance()
    735             sage: app.shell
    736             <sage.repl.interpreter.SageTestShell object at 0x...>
    737         """
    738         # Shell initialization
    739         self.shell = self.shell_class.instance(
    740             parent=self,
    741             config=self.config,
    742             profile_dir=self.profile_dir,
--> 743             ipython_dir=self.ipython_dir)
        global ipython_dir = undefined
        self.ipython_dir = u'/tmp/tmpx1QwxF'
    744         self.shell.configurables.append(self)
    745         self.shell.has_sage_extensions = SAGE_EXTENSION in 
self.extensions
    746 
    747         # Load the %lprun extension if available
    748         try:
    749             import line_profiler
    750         except ImportError:
    751             pass
    752         else:
    753             self.extensions.append('line_profiler')
    754 
    755         if self.shell.has_sage_extensions:
    756             self.extensions.remove(SAGE_EXTENSION)
    757 
    758             # load sage extension here to get a crash if

/opt/SageMath/local/lib/python2.7/site-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'/tmp/tmpx1QwxF', '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'/tmp/tmpx1QwxF', 'profile_dir': 
<IPython.core.profiledir.ProfileDir object at 0x7f25172a22d0>, '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 0x7f251b6a9250>}
    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):

/opt/SageMath/local/lib/python2.7/site-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'/tmp/tmpx1QwxF', 'parent': <sage.repl.interpreter.SageTerminalApp object>, 
'profile_dir': <IPython.core.profiledir.ProfileDir object>})
    425 
    426     def init_alias(self):
    427         # The parent class defines aliases that can be safely used with 
any
    428         # frontend.
    429         super(TerminalInteractiveShell, self).init_alias()
    430 
    431         # Now define aliases that only make sense on the terminal, 
because they
    432         # need direct access to the console in a way that we can't 
emulate in
    433         # GUI or web frontend
    434         if os.name == 'posix':
    435             for cmd in ['clear', 'more', 'less', 'man']:
    436                 self.alias_manager.soft_define_alias(cmd, cmd)
    437 
    438 
    439     def __init__(self, *args, **kwargs):
--> 440         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 0x7f25172a2210>>
        args = ()
        kwargs = {'profile_dir': <IPython.core.profiledir.ProfileDir object at 
0x7f25172a22d0>, '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'/tmp/tmpx1QwxF', 'parent': 
<sage.repl.interpreter.SageTerminalApp object at 0x7f251b6a9250>}
    441         self.init_prompt_toolkit_cli()
    442         self.init_term_title()
    443         self.keep_running = True
    444 
    445         self.debugger_history = InMemoryHistory()
    446 
    447     def ask_exit(self):
    448         self.keep_running = False
    449 
    450     rl_next_input = None
    451 
    452     def pre_prompt(self):
    453         if self.rl_next_input:
    454             # We can't set the buffer here, because it will be reset 
just after
    455             # this. Adding a callable to pre_run_callables does what we 
need

/opt/SageMath/local/lib/python2.7/site-packages/IPython/core/interactiveshell.pyc
 in __init__(self=<sage.repl.interpreter.SageTerminalInteractiveShell object>, 
ipython_dir=u'/tmp/tmpx1QwxF', 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 0x7f25172a2210>>
    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):

/opt/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in 
init_display_formatter(self=<sage.repl.interpreter.SageTerminalInteractiveShell 
object>)
    246 
    247         sage: from sage.repl.interpreter import 
SageTerminalInteractiveShell
    248         sage: SageTerminalInteractiveShell()   # not tested
    249         <sage.repl.interpreter.SageNotebookInteractiveShell object at 
0x...>
    250     """
    251 
    252     def init_display_formatter(self):
    253         """
    254         Switch to the Sage IPython commandline rich output backend
    255 
    256         EXAMPLES::
    257 
    258             sage: from sage.repl.interpreter import 
SageTerminalInteractiveShell
    259             sage: 
SageTerminalInteractiveShell().init_display_formatter()   # not tested
    260         """
--> 261         from sage.repl.rich_output.backend_ipython import 
BackendIPythonCommandline
        global sage.repl.rich_output.backend_ipython = undefined
        BackendIPythonCommandline = undefined
    262         backend = BackendIPythonCommandline()
    263         backend.get_display_manager().switch_backend(backend, 
shell=self)
    264 
    265 
    266 class SageTestShell(SageShellOverride, TerminalInteractiveShell):
    267     """
    268     Test Shell
    269 
    270     Care must be taken in these doctests to quit the test shell in
    271     order to switch back the rich output display backend to the
    272     doctest backend.
    273 
    274     EXAMPLES::
    275 
    276         sage: from sage.repl.interpreter import get_test_shell

/opt/SageMath/local/lib/python2.7/site-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 

/opt/SageMath/local/lib/python2.7/site-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 <vbraun.n...@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):

/opt/SageMath/local/lib/python2.7/site-packages/sage/structure/sage_object.pyx 
in init sage.structure.sage_object 
(build/cythonized/sage/structure/sage_object.c:11199)()
      1 # -*- encoding: utf-8 -*-
      2 r"""
      3 Abstract base class for Sage objects
      4 """
      5 from __future__ import absolute_import, print_function
      6 
----> 7 from sage.misc.persist import (_base_dumps, _base_save,
        global sage.misc.persist = undefined
        global _base_dumps = undefined
        global _base_save = undefined
        global register_unpickle_override = undefined
        global make_None = undefined
      8                                register_unpickle_override, make_None)
      9 
     10 from sage.misc.lazy_import import LazyImport
     11 
     12 # NOTE: These imports are just for backwards-compatibility
     13 loads = LazyImport('sage.misc.persist', 'loads', deprecation=25153)
     14 dumps = LazyImport('sage.misc.persist', 'dumps', deprecation=25153)
     15 save = LazyImport('sage.misc.persist', 'save', deprecation=25153)
     16 load = LazyImport('sage.misc.persist', 'load', deprecation=25153)
     17 unpickle_all = LazyImport('sage.misc.persist', 'unpickle_all',
     18                           deprecation=25153)
     19 unpickle_global = LazyImport('sage.misc.persist', 'unpickle_global',
     20                              deprecation=25153)
     21 unpickle_override = LazyImport('sage.misc.persist', 'unpickle_override',
     22                                deprecation=25153)
     23 
     24 
     25 # Generators is no longer used (#21382)
     26 register_unpickle_override('sage.structure.generators', 
'make_list_gens',
     27                            make_None)
     28 
     29 
     30 __all__ = ['SageObject']
     31 

/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/persist.pyx in init 
sage.misc.persist (build/cythonized/sage/misc/persist.c:11286)()
     29 from __future__ import absolute_import
     30 
     31 import io
     32 import os
     33 import sys
     34 
     35 from textwrap import dedent
     36 
     37 # change to import zlib to use zlib instead; but this
     38 # slows down loading any data stored in the other format
     39 import zlib; comp = zlib
     40 import bz2; comp_other = bz2
     41 
     42 from six.moves import cPickle as pickle
     43 
---> 44 from .misc import SAGE_DB
        global misc = undefined
        global SAGE_DB = undefined
     45 from .sage_unittest import TestSuite
     46 
     47 
     48 cdef _normalize_filename(s):
     49     """
     50     Append the .sobj extension to a filename if it doesn't already have 
it.
     51     """
     52     if s[-5:] != '.sobj':
     53         return s + '.sobj'
     54 
     55     return s
     56 
     57 
     58 def load(*filename, compress=True, verbose=True):
     59     r"""

/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/misc.py in <module>()
    267 @lazy_string
    268 def SAGE_TMP_INTERFACE():
    269     """
    270     EXAMPLES::
    271 
    272         sage: from sage.misc.misc import SAGE_TMP_INTERFACE
    273         sage: SAGE_TMP_INTERFACE
    274         l'.../temp/.../interface'
    275     """
    276     d = os.path.join(str(SAGE_TMP), 'interface')
    277     sage_makedirs(d)
    278     return d
    279 
    280 
    281 SAGE_DB = os.path.join(DOT_SAGE, 'db')
--> 282 sage_makedirs(SAGE_DB)
        global sage_makedirs = None
        global SAGE_DB = None
    283 
    284 try:
    285     # Create the matplotlib config directory.
    286     sage_makedirs(os.environ["MPLCONFIGDIR"])
    287 except KeyError:
    288     pass
    289 
    290 #################################################################
    291 # timing
    292 #################################################################
    293 
    294 
    295 def cputime(t=0, subprocesses=False):
    296     """
    297     Return the time in CPU seconds since Sage started, or with

/opt/SageMath/local/lib/python2.7/site-packages/sage/misc/misc.py in 
sage_makedirs(dir='/home/jgarcia/.sage/db')
     71     EXAMPLES::
     72 
     73         sage: from sage.misc.misc import sage_makedirs
     74         sage: sage_makedirs(DOT_SAGE) # no output
     75 
     76     The following fails because we are trying to create a directory in
     77     place of an ordinary file (the main Sage executable)::
     78 
     79         sage: sage_executable = os.path.join(SAGE_ROOT, 'sage')
     80         sage: sage_makedirs(sage_executable)
     81         Traceback (most recent call last):
     82         ...
     83         OSError: ...
     84     """
     85     try:
---> 86         os.makedirs(dir)
        global os.makedirs = undefined
        dir = '/home/jgarcia/.sage/db'
     87     except OSError:
     88         if not os.path.isdir(dir):
     89             raise
     90 
     91 
     92 #################################################
     93 # Now that the variable DOT_SAGE has been set,
     94 # we make sure that the DOT_SAGE directory
     95 # has restrictive permissions, since otherwise
     96 # possibly just anybody can easily see every
     97 # command you type, since it is in the history,
     98 # and every worksheet you create, etc.
     99 # We do the following:
    100 #   1. If there is no DOT_SAGE, we create it.
    101 #   2. Check to see if the permissions on DOT_SAGE are

/opt/SageMath/local/lib/python2.7/os.pyc in 
makedirs(name='/home/jgarcia/.sage/db', mode=511)
    142     recursive.
    143 
    144     """
    145     head, tail = path.split(name)
    146     if not tail:
    147         head, tail = path.split(head)
    148     if head and tail and not path.exists(head):
    149         try:
    150             makedirs(head, mode)
    151         except OSError, e:
    152             # be happy if someone already created the path
    153             if e.errno != errno.EEXIST:
    154                 raise
    155         if tail == curdir:           # xxx/newdir/. exists if 
xxx/newdir exists
    156             return
--> 157     mkdir(name, mode)
        global mkdir = <built-in function mkdir>
        name = '/home/jgarcia/.sage/db'
        mode = 511
    158 
    159 def removedirs(name):
    160     """removedirs(path)
    161 
    162     Super-rmdir; remove a leaf directory and all empty intermediate
    163     ones.  Works like rmdir except that, if the leaf directory is
    164     successfully removed, directories corresponding to rightmost path
    165     segments will be pruned away until either the whole path is
    166     consumed or an error occurs.  Errors during this latter phase are
    167     ignored -- they generally mean that a directory was not empty.
    168 
    169     """
    170     rmdir(name)
    171     head, tail = path.split(name)
    172     if not tail:

OSError: [Errno 13] Permission denied: '/home/jgarcia/.sage/db'

***************************************************************************

History of session input:

Reply via email to