You are not logged in.

#1 2017-06-07 12:01:12

NinjaKoala
Member
Registered: 2017-06-07
Posts: 6

[SOLVED] Sagemath is crashing

When trying to open sage (ipython interface) i got

ImportError: No module named backports.shutil_get_terminal_size

I then tried

sudo pip2 uninstall backports.shutil_get_terminal_size
sudo pip2 install backports.shutil_get_terminal_size

And now i'm getting a crash report:

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

IPython post-mortem report

{'commit_hash': u'<not found>',
 'commit_source': '(none found)',
 'default_encoding': 'UTF-8',
 'ipython_path': '/usr/lib/python2.7/site-packages/IPython',
 'ipython_version': '5.3.0',
 'os_name': 'posix',
 'platform': 'Linux-4.11.3-1-ARCH-x86_64-with-glibc2.2.5',
 'sys_executable': '/usr/bin/python2',
 'sys_platform': 'linux2',
 'sys_version': '2.7.13 (default, Feb 11 2017, 12:22:40) \n[GCC 6.3.1 20170109]'}

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



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

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError                                 Python 2.7.13: /usr/bin/python2
                                                   Wed Jun  7 13:53:44 2017
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/bin/sage-ipython in <module>()
      1 #!/usr/bin/env python2
      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 0x7f049f434090>>
     11 app.start()

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

/usr/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 0x7f0497dda848>
        app = <sage.repl.interpreter.SageTerminalApp object at 0x7f049f434090>
        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/site-packages/IPython/terminal/ipapp.pyc in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
    294 
    295         return super(TerminalIPythonApp, self).parse_command_line(argv)
    296     
    297     @catch_config_error
    298     def initialize(self, argv=None):
    299         """Do actions after construct, but before starting the app."""
    300         super(TerminalIPythonApp, self).initialize(argv)
    301         if self.subapp is not None:
    302             # don't bother initializing further, starting subapp
    303             return
    304         # print self.extra_args
    305         if self.extra_args and not self.something_to_run:
    306             self.file_to_run = self.extra_args[0]
    307         self.init_path()
    308         # create the shell
--> 309         self.init_shell()
        self.init_shell = <bound method SageTerminalApp.init_shell of <sage.repl.interpreter.SageTerminalApp object at 0x7f049f434090>>
    310         # and draw the banner
    311         self.init_banner()
    312         # Now a variety of things that happen after the banner is printed.
    313         self.init_gui_pylab()
    314         self.init_extensions()
    315         self.init_code()
    316 
    317     def init_shell(self):
    318         """initialize the InteractiveShell instance"""
    319         # Create an InteractiveShell instance.
    320         # shell.display_banner should always be False for the terminal
    321         # based app, because we call shell.show_banner() by hand below
    322         # so the banner shows *before* all extension loading stuff.
    323         self.shell = TerminalInteractiveShell.instance(parent=self,
    324                         profile_dir=self.profile_dir,

/usr/lib/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
    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
    761             # something is wrong with the sage library
--> 762             self.shell.extension_manager.load_extension(SAGE_EXTENSION)
        self.shell.extension_manager.load_extension = <bound method ExtensionManager.load_extension of <IPython.core.extensions.ExtensionManager object at 0x7f0497f5d290>>
        global SAGE_EXTENSION = 'sage'
    763 
    764 

/usr/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage')
     70 
     71         Returns the string "already loaded" if the extension is already loaded,
     72         "no load function" if the module doesn't have a load_ipython_extension
     73         function, or None if it succeeded.
     74         """
     75         if module_str in self.loaded:
     76             return "already loaded"
     77         
     78         from IPython.utils.syspathcontext import prepended_to_syspath
     79         
     80         with self.shell.builtin_trap:
     81             if module_str not in sys.modules:
     82                 with prepended_to_syspath(self.ipython_extension_dir):
     83                     __import__(module_str)
     84             mod = sys.modules[module_str]
---> 85             if self._call_load_ipython_extension(mod):
        self._call_load_ipython_extension = <bound method ExtensionManager._call_load_ipython_extension of <IPython.core.extensions.ExtensionManager object at 0x7f0497f5d290>>
        mod = <module 'sage' from '/usr/lib/python2.7/site-packages/sage/__init__.pyc'>
     86                 self.loaded.add(module_str)
     87             else:
     88                 return "no load function"
     89 
     90     def unload_extension(self, module_str):
     91         """Unload an IPython extension by its module name.
     92 
     93         This function looks up the extension's name in ``sys.modules`` and
     94         simply calls ``mod.unload_ipython_extension(self)``.
     95         
     96         Returns the string "no unload function" if the extension doesn't define
     97         a function to unload itself, "not loaded" if the extension isn't loaded,
     98         otherwise None.
     99         """
    100         if module_str not in self.loaded:

/usr/lib/python2.7/site-packages/IPython/core/extensions.pyc in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager object>, mod=<module 'sage' from '/usr/lib/python2.7/site-packages/sage/__init__.pyc'>)
    117         """
    118         from IPython.utils.syspathcontext import prepended_to_syspath
    119 
    120         if (module_str in self.loaded) and (module_str in sys.modules):
    121             self.unload_extension(module_str)
    122             mod = sys.modules[module_str]
    123             with prepended_to_syspath(self.ipython_extension_dir):
    124                 reload(mod)
    125             if self._call_load_ipython_extension(mod):
    126                 self.loaded.add(module_str)
    127         else:
    128             self.load_extension(module_str)
    129 
    130     def _call_load_ipython_extension(self, mod):
    131         if hasattr(mod, 'load_ipython_extension'):
--> 132             mod.load_ipython_extension(self.shell)
        mod.load_ipython_extension = <function load_ipython_extension at 0x7f049f42a758>
        self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>
    133             return True
    134 
    135     def _call_unload_ipython_extension(self, mod):
    136         if hasattr(mod, 'unload_ipython_extension'):
    137             mod.unload_ipython_extension(self.shell)
    138             return True
    139 
    140     def install_extension(self, url, filename=None):
    141         """Download and install an IPython extension. 
    142 
    143         If filename is given, the file will be so named (inside the extension
    144         directory). Otherwise, the name from the URL will be used. The file must
    145         have a .py or .zip extension; otherwise, a ValueError will be raised.
    146 
    147         Returns the full path to the installed file.

/usr/lib/python2.7/site-packages/sage/__init__.pyc in load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,))
      1 __all__ = ['all']
      2 
      3 # IPython calls this when starting up
      4 def load_ipython_extension(*args):
      5     import sage.repl.ipython_extension
----> 6     sage.repl.ipython_extension.load_ipython_extension(*args)
        sage.repl.ipython_extension.load_ipython_extension = <function load_ipython_extension at 0x7f0497b6f0c8>
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>,)

/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={})
    490         ....:     if work:
    491         ....:         return 'foo worked'
    492         ....:     raise RuntimeError("foo didn't work")
    493         sage: foo(False)
    494         Traceback (most recent call last):
    495         ...
    496         RuntimeError: foo didn't work
    497         sage: foo(True)
    498         'foo worked'
    499         sage: foo(False)
    500         sage: foo(True)
    501     """
    502     @wraps(func)
    503     def wrapper(*args, **kwargs):
    504         if not wrapper.has_run:
--> 505             result = func(*args, **kwargs)
        result = undefined
        global func = undefined
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>,)
        kwargs = {}
    506             wrapper.has_run = True
    507             return result
    508     wrapper.has_run = False
    509     return wrapper
    510 
    511 
    512 @run_once
    513 def load_ipython_extension(ip):
    514     """
    515     Load the extension in IPython.
    516     """
    517     # this modifies ip
    518     SageCustomizations(shell=ip)

/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
    503     def wrapper(*args, **kwargs):
    504         if not wrapper.has_run:
    505             result = func(*args, **kwargs)
    506             wrapper.has_run = True
    507             return result
    508     wrapper.has_run = False
    509     return wrapper
    510 
    511 
    512 @run_once
    513 def load_ipython_extension(ip):
    514     """
    515     Load the extension in IPython.
    516     """
    517     # this modifies ip
--> 518     SageCustomizations(shell=ip)
        global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'>
        global shell = undefined
        ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7f049f429910>

/usr/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
    361     def __init__(self, shell=None):
    362         """
    363         Initialize the Sage plugin.
    364         """
    365         self.shell = shell
    366 
    367         self.auto_magics = SageMagics(shell)
    368         self.shell.register_magics(self.auto_magics)
    369 
    370         import sage.misc.edit_module as edit_module
    371         self.shell.set_hook('editor', edit_module.edit_devel)
    372 
    373         self.init_inspector()
    374         self.init_line_transforms()
    375 
--> 376         import sage.all # until sage's import hell is fixed
        sage.all = undefined
    377 
    378         self.shell.verbose_quit = True
    379         self.set_quit_hook()
    380 
    381         self.register_interface_magics()
    382 
    383         if SAGE_IMPORTALL == 'yes':
    384             self.init_environment()
    385 
    386     def register_interface_magics(self):
    387         """
    388         Register magics for each of the Sage interfaces
    389         """
    390         from sage.repl.interface_magic import InterfaceMagic
    391         InterfaceMagic.register_all(self.shell)

/usr/lib/python2.7/site-packages/sage/all.py in <module>()
     88 
     89 from time                import sleep
     90 
     91 import sage.misc.lazy_import
     92 from sage.misc.all       import *         # takes a while
     93 from sage.typeset.all    import *
     94 from sage.repl.all       import *
     95 
     96 from sage.misc.sh import sh
     97 
     98 from sage.libs.all       import *
     99 from sage.data_structures.all import *
    100 from sage.doctest.all    import *
    101 
    102 from sage.structure.all  import *
--> 103 from sage.rings.all      import *
        global sage.rings.all = undefined
    104 from sage.arith.all      import *
    105 from sage.matrix.all     import *
    106 
    107 from sage.symbolic.all   import *
    108 from sage.modules.all    import *
    109 from sage.monoids.all    import *
    110 from sage.algebras.all   import *
    111 from sage.modular.all    import *
    112 from sage.sat.all        import *
    113 from sage.schemes.all    import *
    114 from sage.graphs.all     import *
    115 from sage.groups.all     import *
    116 from sage.databases.all  import *
    117 from sage.categories.all import *
    118 from sage.sets.all       import *

/usr/lib/python2.7/site-packages/sage/rings/all.py in <module>()
     39 
     40 # Rational numbers
     41 from .rational_field import RationalField, QQ
     42 from .rational import Rational
     43 Rationals = RationalField
     44 
     45 # Integers modulo n.
     46 from sage.rings.finite_rings.integer_mod_ring import IntegerModRing, Zmod
     47 from sage.rings.finite_rings.integer_mod import IntegerMod, Mod, mod
     48 Integers = IntegerModRing
     49 
     50 # Finite fields
     51 from .finite_rings.all import *
     52 
     53 # Number field
---> 54 from .number_field.all import *
        global number_field.all = undefined
     55 
     56 # Function field
     57 from .function_field.all import *
     58 
     59 # Finite residue fields
     60 from .finite_rings.residue_field import ResidueField
     61 
     62 # p-adic field
     63 from .padics.all import *
     64 from .padics.padic_printing import _printer_defaults as padic_printing
     65 
     66 # Semirings
     67 from .semirings.all import *
     68 
     69 # Real numbers

/usr/lib/python2.7/site-packages/sage/rings/number_field/all.py in <module>()
      1 from __future__ import absolute_import
      2 
      3 from .number_field import (NumberField, NumberFieldTower, CyclotomicField, QuadraticField,
      4                           is_fundamental_discriminant)
      5 from .number_field_element import NumberFieldElement
      6 
      7 from .order import EquationOrder, GaussianIntegers, EisensteinIntegers
      8 
----> 9 from .totallyreal import enumerate_totallyreal_fields_prim
        global totallyreal = undefined
        global enumerate_totallyreal_fields_prim = undefined
     10 from .totallyreal_data import hermite_constant
     11 from .totallyreal_rel import enumerate_totallyreal_fields_all, enumerate_totallyreal_fields_rel
     12 
     13 from .unit_group import UnitGroup

/usr/lib/python2.7/site-packages/sage/rings/number_field/totallyreal_data.pxd in init sage.rings.number_field.totallyreal (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/rings/number_field/totallyreal.c:12733)()
      1 cdef double eval_seq_as_poly(int *f, int n, double x)
      2 cdef double newton(int *f, int *df, int n, double x0, double eps)
      3 cdef void newton_in_intervals(int *f, int *df, int n, double *beta, double eps, double *rts)
      4 cpdef lagrange_degree_3(int n, int an1, int an2, int an3)
      5 
      6 cimport sage.rings.integer
      7 
      8 cdef int eval_seq_as_poly_int(int *f, int n, int x)
      9 
     10 cdef int easy_is_irreducible(int *a, int n)
     11 
---> 12 cdef class tr_data:
        global cdef = undefined
        global tr_data = undefined
     13 
     14     cdef int n, k
     15     cdef double B
     16     cdef double b_lower, b_upper, gamma
     17 
     18     cdef int *a
     19     cdef int *amax
     20     cdef double *beta
     21     cdef int *gnk
     22 
     23     cdef int *df
     24 
     25     cdef void incr(self, int *f_out, int verbose, int haltk, int phc)
     26 

/usr/share/sage/source/sage/rings/number_field/totallyreal_data.pyx in init sage.rings.number_field.totallyreal_data (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/rings/number_field/totallyreal_data.c:13445)()
     24 #*****************************************************************************
     25 from __future__ import print_function
     26 
     27 include "sage/ext/cdefs.pxi"
     28 include "cysignals/memory.pxi"
     29 
     30 from sage.arith.all import binomial, gcd
     31 from sage.rings.rational_field import RationalField
     32 from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
     33 from sage.rings.real_mpfi import RealIntervalField
     34 from sage.rings.real_mpfr import RealField
     35 from sage.rings.integer_ring import ZZ
     36 from sage.rings.integer cimport Integer
     37 
     38 # Other global variables
---> 39 ZZx = PolynomialRing(ZZ, 'x')
        global ZZx = undefined
        global PolynomialRing = <function PolynomialRing at 0x7f03861f26e0>
        global ZZ = Integer Ring
     40 
     41 from libc.math cimport lrint, floor, ceil, fabs, round
     42 
     43 
     44 #*********************************************************************
     45 # Auxiliary routine
     46 # Hermite constant, naive Newton-Raphson, and a specialized Lagrange
     47 # multiplier solver.
     48 #*********************************************************************
     49 
     50 def hermite_constant(n):
     51     r"""
     52     This function returns the nth Hermite constant
     53 
     54     The nth Hermite constant (typically denoted `\gamma_n`), is defined

/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.pyc in PolynomialRing(base_ring=Integer Ring, arg1='x', arg2=None, sparse=False, order='degrevlex', names=None, name='x', var_array=None, implementation=None)
    446         arg2 = [str(x) for x in arg2]
    447     if isinstance(arg2, (int, long, Integer)):
    448         # 3. PolynomialRing(base_ring, names, n, order='degrevlex'):
    449         if not isinstance(arg1, (list, tuple, str)):
    450             raise TypeError("You *must* specify the names of the variables.")
    451         n = int(arg2)
    452         names = arg1
    453         R = _multi_variate(base_ring, names, n, sparse, order, implementation)
    454 
    455     elif isinstance(arg1, str) or (isinstance(arg1, (list,tuple)) and len(arg1) == 1):
    456         if not ',' in arg1:
    457             # 1. PolynomialRing(base_ring, name, sparse=False):
    458             if not arg2 is None:
    459                 raise TypeError("if second arguments is a string with no commas, then there must be no other non-optional arguments")
    460             name = arg1
--> 461             R = _single_variate(base_ring, name, sparse, implementation)
        R = None
        global _single_variate = <function _single_variate at 0x7f03861f5230>
        base_ring = Integer Ring
        name = 'x'
        sparse = False
        implementation = None
    462         else:
    463             # 2-4. PolynomialRing(base_ring, names, order='degrevlex'):
    464             if not arg2 is None:
    465                 raise TypeError("invalid input to PolynomialRing function; please see the docstring for that function")
    466             names = arg1.split(',')
    467             R = _multi_variate(base_ring, names, -1, sparse, order, implementation)
    468     elif isinstance(arg1, (list, tuple)):
    469             # PolynomialRing(base_ring, names (list or tuple), order='degrevlex'):
    470             names = arg1
    471             R = _multi_variate(base_ring, names, -1, sparse, order, implementation)
    472 
    473     if arg1 is None and arg2 is None:
    474         raise TypeError("you *must* specify the indeterminates (as not None).")
    475     if R is None:
    476         raise TypeError("invalid input (%s, %s, %s) to PolynomialRing function; please see the docstring for that function"%(

/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.pyc in _single_variate(base_ring=Integer Ring, name=('x',), sparse=False, implementation=None)
    524             R = m.PolynomialRing_dense_padic_ring_capped_absolute(base_ring, name)
    525 
    526         elif isinstance(base_ring, padic_base_leaves.pAdicRingFixedMod):
    527             R = m.PolynomialRing_dense_padic_ring_fixed_mod(base_ring, name)
    528 
    529         elif base_ring in _CompleteDiscreteValuationRings:
    530             R = m.PolynomialRing_cdvr(base_ring, name, sparse)
    531 
    532         elif base_ring in _CompleteDiscreteValuationFields:
    533             R = m.PolynomialRing_cdvf(base_ring, name, sparse)
    534 
    535         elif base_ring.is_field(proof = False):
    536             R = m.PolynomialRing_field(base_ring, name, sparse)
    537 
    538         elif base_ring.is_integral_domain(proof = False):
--> 539             R = m.PolynomialRing_integral_domain(base_ring, name, sparse, implementation)
        R = None
        m.PolynomialRing_integral_domain = <class 'sage.rings.polynomial.polynomial_ring.PolynomialRing_integral_domain'>
        base_ring = Integer Ring
        name = ('x',)
        sparse = False
        implementation = None
    540         else:
    541             R = m.PolynomialRing_commutative(base_ring, name, sparse)
    542     else:
    543         R = m.PolynomialRing_general(base_ring, name, sparse)
    544 
    545     if hasattr(R, '_implementation_names'):
    546         for name in R._implementation_names:
    547             real_key = key[0:3] + (name,)
    548             _save_in_cache(real_key, R)
    549     else:
    550         _save_in_cache(key, R)
    551     return R
    552 
    553 def _multi_variate(base_ring, names, n, sparse, order, implementation):
    554 #    if not sparse:

/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, implementation=None, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=None)
   1588             if is_IntegerRing(base_ring) and not sparse:
   1589                 if implementation == 'NTL':
   1590                     from sage.rings.polynomial.polynomial_integer_dense_ntl \
   1591                             import Polynomial_integer_dense_ntl
   1592                     element_class = Polynomial_integer_dense_ntl
   1593                     self._implementation_names = ('NTL',)
   1594                     self._implementation_repr = ' (using NTL)'
   1595                 elif implementation == 'FLINT' or implementation is None:
   1596                     from sage.rings.polynomial.polynomial_integer_dense_flint \
   1597                             import Polynomial_integer_dense_flint
   1598                     element_class = Polynomial_integer_dense_flint
   1599                     self._implementation_names = (None, 'FLINT')
   1600                 else:
   1601                     raise ValueError("Unknown implementation %s for ZZ[x]"%implementation)
   1602         PolynomialRing_commutative.__init__(self, base_ring, name=name,
-> 1603                 sparse=sparse, element_class=element_class, category=category)
        sparse = False
        element_class = <type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
        category = None
   1604 
   1605     def _repr_(self):
   1606         """
   1607         TESTS::
   1608 
   1609             sage: from sage.rings.polynomial.polynomial_ring import PolynomialRing_integral_domain as PRing
   1610             sage: R = PRing(ZZ, 'x', implementation='NTL'); R
   1611             Univariate Polynomial Ring in x over Integer Ring (using NTL)
   1612         """
   1613         s = PolynomialRing_commutative._repr_(self)
   1614         return s + self._implementation_repr
   1615 
   1616 
   1617 class PolynomialRing_field(PolynomialRing_integral_domain,
   1618                            PolynomialRing_singular_repr,

/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=Join of Category of unique factorization domains...s and infinite enumerated sets and metric spaces))
   1459         if max_degree is not None and of_degree is None:
   1460             return self._monics_max( max_degree )
   1461         raise ValueError("you should pass exactly one of of_degree and max_degree")
   1462 
   1463 class PolynomialRing_commutative(PolynomialRing_general, commutative_algebra.CommutativeAlgebra):
   1464     """
   1465     Univariate polynomial ring over a commutative ring.
   1466     """
   1467     def __init__(self, base_ring, name=None, sparse=False, element_class=None, category=None):
   1468         if base_ring not in _CommutativeRings:
   1469             raise TypeError("Base ring %s must be a commutative ring."%repr(base_ring))
   1470         # We trust that, if a category is given, that it is useful.
   1471         if category is None:
   1472             category = polynomial_default_category(base_ring.category(),False)
   1473         PolynomialRing_general.__init__(self, base_ring, name=name,
-> 1474                 sparse=sparse, element_class=element_class, category=category)
        sparse = False
        element_class = <type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>
        category = Join of Category of unique factorization domains and Category of commutative algebras over (euclidean domains and infinite enumerated sets and metric spaces)
   1475 
   1476     def quotient_by_principal_ideal(self, f, names=None):
   1477         """
   1478         Return the quotient of this polynomial ring by the principal
   1479         ideal (generated by) `f`.
   1480 
   1481         INPUT:
   1482 
   1483         - ``f`` - either a polynomial in ``self``, or a principal
   1484           ideal of ``self``.
   1485 
   1486         EXAMPLES::
   1487 
   1488             sage: R.<x> = QQ[]
   1489             sage: I = (x^2-1)*R

/usr/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring.pyc in __init__(self=Univariate Polynomial Ring in x over Integer Ring, base_ring=Integer Ring, name=('x',), sparse=False, element_class=<type 'sage.rings.polynomial.polynomial_integer_dense_flint.Polynomial_integer_dense_flint'>, category=Join of Category of unique factorization domains...s and infinite enumerated sets and metric spaces))
    275         self._has_singular = False
    276         # Algebra.__init__ also calls __init_extra__ of Algebras(...).parent_class, which
    277         # tries to provide a conversion from the base ring, if it does not exist.
    278         # This is for algebras that only do the generic stuff in their initialisation.
    279         # But the attribute _no_generic_basering_coercion prevents that from happening,
    280         # since we want to use PolynomialBaseringInjection.
    281         sage.algebras.algebra.Algebra.__init__(self, base_ring, names=name, normalize=True, category=category)
    282         self.__generator = self.element_class(self, [0,1], is_gen=True)
    283         self._populate_coercion_lists_(
    284                 #coerce_list = [base_inject],
    285                 #convert_list = [list, base_inject],
    286                 convert_method_name = '_polynomial_')
    287         if is_PolynomialRing(base_ring):
    288             self._Karatsuba_threshold = 0
    289         else:
--> 290             from sage.matrix.matrix_space import MatrixSpace
        global sage.matrix.matrix_space = undefined
        MatrixSpace = undefined
    291             if isinstance(base_ring, MatrixSpace):
    292                 self._Karatsuba_threshold = 0
    293             else:
    294                 self._Karatsuba_threshold = 8
    295 
    296     def __reduce__(self):
    297         import sage.rings.polynomial.polynomial_ring_constructor
    298         return (sage.rings.polynomial.polynomial_ring_constructor.PolynomialRing,
    299                 (self.base_ring(), self.variable_name(), None, self.is_sparse()))
    300 
    301 
    302     def _element_constructor_(self, x=None, check=True, is_gen=False,
    303                               construct=False, **kwds):
    304         r"""
    305         Convert ``x`` into this univariate polynomial ring,

/usr/lib/python2.7/site-packages/sage/matrix/matrix_space.pyc in <module>()
     33 #*****************************************************************************
     34 from __future__ import print_function, absolute_import
     35 from six.moves import range
     36 from six import iteritems
     37 
     38 # System imports
     39 import sys
     40 import types
     41 import operator
     42 
     43 # Sage matrix imports
     44 from . import matrix
     45 from . import matrix_generic_dense
     46 from . import matrix_generic_sparse
     47 
---> 48 from . import matrix_modn_sparse
        global matrix_modn_sparse = undefined
     49 
     50 from . import matrix_mod2_dense
     51 from . import matrix_gf2e_dense
     52 
     53 from . import matrix_integer_dense
     54 from . import matrix_integer_sparse
     55 
     56 from . import matrix_rational_dense
     57 from . import matrix_rational_sparse
     58 
     59 from . import matrix_polynomial_dense
     60 from . import matrix_mpolynomial_dense
     61 
     62 # Sage imports
     63 from sage.misc.superseded import deprecation

/usr/lib/python2.7/site-packages/sage/matrix/matrix_integer_dense.pxd in init sage.matrix.matrix_modn_sparse (/build/sagemath/src/sage-7.6/src/src/build/cythonized/sage/matrix/matrix_modn_sparse.c:15213)()
      1 from sage.libs.gmp.types cimport *
      2 from sage.libs.flint.types cimport fmpz_mat_t
      3 
      4 from .matrix_dense cimport Matrix_dense
      5 from sage.rings.integer cimport Integer
      6 from sage.ext.mod_int cimport *
      7 
      8 ctypedef long* GEN
      9 
---> 10 cdef class Matrix_integer_dense(Matrix_dense):
        global cdef = undefined
        global Matrix_integer_dense = undefined
        global Matrix_dense = undefined
     11     cdef fmpz_mat_t _matrix  # Always initialized in __cinit__
     12     cdef bint _initialized_mpz
     13     cdef mpz_t * _entries    # Only used if _initialized_mpz
     14     cdef mpz_t ** _rows      # Only used if _initialized_mpz
     15     cdef object _pivots
     16     cdef int mpz_height(self, mpz_t height) except -1
     17     cdef _mod_int_c(self, mod_int modulus)
     18     cdef _mod_two(self)
     19     cdef _pickle_version0(self)
     20     cdef _unpickle_version0(self, data)
     21     cpdef _export_as_string(self, int base=?)
     22     cdef inline int _init_mpz(self) except -1
     23     cdef int _init_mpz_impl(self) except -1
     24     cdef inline int _init_linbox(self) except -1
     25     cdef void _dealloc_mpz(self)
     26     cdef void set_unsafe_mpz(self, Py_ssize_t i, Py_ssize_t j, const mpz_t value)
     27     cdef void set_unsafe_si(self, Py_ssize_t i, Py_ssize_t j, long value)
     28     cdef void set_unsafe_double(self, Py_ssize_t i, Py_ssize_t j, double value)
     29     cdef inline void get_unsafe_mpz(self, Py_ssize_t i, Py_ssize_t j, mpz_t value)
     30     cdef inline double get_unsafe_double(self, Py_ssize_t i, Py_ssize_t j)
     31 

ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory

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

History of session input:
*** Last line of input (may not be in above history):

Unfortunately, i can't reproduce which package upgrade or else caused this breakage.
Does anyone have an idea how this could be fixed?

Edit:
Just found https://bbs.archlinux.org/viewtopic.php?id=226826
The proposed fix work's for me, too.
I should work on my search skills…

Last edited by NinjaKoala (2017-06-07 12:08:45)

Offline

#2 2017-06-07 12:11:50

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,524
Website

Re: [SOLVED] Sagemath is crashing

Update your system and AUR packages: whatever is linking to libgfortran.so.3 needs to be rebuilt.

(edit: too slow)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2017-06-07 12:27:36

arojas
Developer
From: Spain
Registered: 2011-10-09
Posts: 2,098

Re: [SOLVED] Sagemath is crashing

Why are you using pip to install stuff on the root filesystem? That is just calling for trouble. Those packages are available in the official repositories.

Offline

#4 2017-06-07 12:52:47

NinjaKoala
Member
Registered: 2017-06-07
Posts: 6

Re: [SOLVED] Sagemath is crashing

@arojas: Because the package was said to be installed and i was testing around.
But yeah, i should probably have done

sudo pacman -R python2-backports.shutil_get_terminal_size
sudo pacman -S python2-backports.shutil_get_terminal_size

Offline

Board footer

Powered by FluxBB