Hi,

I have attempted to install SageMath 8.5 on a 15" 3.1 GHz Intel Core i7 16GB 
2017 MacBook Pro running Mac OS 10.14.2


  1.  First the App version via DMG. This caused my MacBook Pro to restart 
while attempting to open the .DMG
  2.  Second via the Terminal version via .tar.bz2. This generated the arched 
crash log when attempting to launch via the Terminal



Regards,


Adam Hausknecht


Prof. Adam O. Hausknecht

Department of Mathematics

UMass Dartmouth

285 Old Westport Road, North Dartmouth 02747

ahauskne...@umassd.edu

508-999-8322

LARTS 394B

-- 
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': 
'/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/IPython',
 'ipython_version': '5.8.0',
 'os_name': 'posix',
 'platform': 'Darwin-18.2.0-x86_64-64bit',
 'sys_executable': '/Users/ahausknecht/SageMath/local/bin/python2',
 'sys_platform': 'darwin',
 'sys_version': '2.7.15 (default, Dec 25 2018, 12:25:38) \n[GCC 4.2.1 
Compatible Apple LLVM 10.0.0 (clang-1000.11.45.5)]'}

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



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

Crash traceback:

---------------------------------------------------------------------------
---------------------------------------------------------------------------
RuntimeError   Python 2.7.15: /Users/ahausknecht/SageMath/local/bin/python2
                                                   Sat Dec 29 13:34:26 2018
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.
/Users/ahausknecht/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 0x107f18190>>
     16 app.start()

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

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/traitlets/config/application.py
 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 0x108d4bf50>
        app = <sage.repl.interpreter.SageTerminalApp object at 0x107f18190>
        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 

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.py
 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 0x107f18190>>
    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,

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/repl/interpreter.py
 in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
    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
    759             # something is wrong with the sage library
--> 760             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 0x1090ac1d0>>
        global SAGE_EXTENSION = 'sage'
    761 
    762 

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/IPython/core/extensions.py
 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 0x1090ac1d0>>
        mod = <module 'sage' from 
'/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/__init__.py'>
     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:

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/IPython/core/extensions.py
 in _call_load_ipython_extension(self=<IPython.core.extensions.ExtensionManager 
object>, mod=<module 'sage' from 
'/Users/ahausknecht/SageMath...al/lib/python2.7/site-packages/sage/__init__.py'>)
    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 
0x107e63410>
        self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object 
at 0x108d4ae90>
    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.

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/__init__.py 
in 
load_ipython_extension(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell
 object>,))
      1 __all__ = ['all']
      2 
      3 # Set sage.__version__ to the current version number. This is analogous
      4 # to many other Python packages.
      5 from sage.version import version as __version__
      6 
      7 # Make sure that the correct zlib library is loaded. This is needed
      8 # to prevent the system zlib to be loaded instead of the Sage one.
      9 # See https://trac.sagemath.org/ticket/23122
     10 import zlib
     11 
     12 # IPython calls this when starting up
     13 def load_ipython_extension(*args):
     14     import sage.repl.ipython_extension
---> 15     sage.repl.ipython_extension.load_ipython_extension(*args)
        sage.repl.ipython_extension.load_ipython_extension = <function 
load_ipython_extension at 0x1092f1de8>
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 
0x108d4ae90>,)
     16 
     17 
     18 # Monkey-patch inspect.isfunction() to support Cython functions.
     19 def isfunction(obj):
     20     """
     21     Check whether something is a function.
     22 
     23     We assume that anything which has a genuine ``__code__``
     24     attribute (not using ``__getattr__`` overrides) is a function.
     25     This is meant to support Cython functions.
     26 
     27     EXAMPLES::
     28 
     29         sage: from inspect import isfunction
     30         sage: def f(): pass
     31         sage: isfunction(f)

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
 in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell 
object>,), **kwargs={})
    547         ....:     if work:
    548         ....:         return 'foo worked'
    549         ....:     raise RuntimeError("foo didn't work")
    550         sage: foo(False)
    551         Traceback (most recent call last):
    552         ...
    553         RuntimeError: foo didn't work
    554         sage: foo(True)
    555         'foo worked'
    556         sage: foo(False)
    557         sage: foo(True)
    558     """
    559     @wraps(func)
    560     def wrapper(*args, **kwargs):
    561         if not wrapper.has_run:
--> 562             result = func(*args, **kwargs)
        result = undefined
        global func = undefined
        args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 
0x108d4ae90>,)
        kwargs = {}
    563             wrapper.has_run = True
    564             return result
    565     wrapper.has_run = False
    566     return wrapper
    567 
    568 
    569 @run_once
    570 def load_ipython_extension(ip):
    571     """
    572     Load the extension in IPython.
    573     """
    574     # this modifies ip
    575     SageCustomizations(shell=ip)

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
 in 
load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell 
object>)
    560     def wrapper(*args, **kwargs):
    561         if not wrapper.has_run:
    562             result = func(*args, **kwargs)
    563             wrapper.has_run = True
    564             return result
    565     wrapper.has_run = False
    566     return wrapper
    567 
    568 
    569 @run_once
    570 def load_ipython_extension(ip):
    571     """
    572     Load the extension in IPython.
    573     """
    574     # this modifies ip
--> 575     SageCustomizations(shell=ip)
        global SageCustomizations = <class 
'sage.repl.ipython_extension.SageCustomizations'>
        global shell = undefined
        ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 
0x108d4ae90>

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.py
 in __init__(self=<sage.repl.ipython_extension.SageCustomizations object>, 
shell=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
    418     def __init__(self, shell=None):
    419         """
    420         Initialize the Sage plugin.
    421         """
    422         self.shell = shell
    423 
    424         self.auto_magics = SageMagics(shell)
    425         self.shell.register_magics(self.auto_magics)
    426 
    427         import sage.misc.edit_module as edit_module
    428         self.shell.set_hook('editor', edit_module.edit_devel)
    429 
    430         self.init_inspector()
    431         self.init_line_transforms()
    432 
--> 433         import sage.all # until sage's import hell is fixed
        sage.all = undefined
    434 
    435         self.shell.verbose_quit = True
    436         self.set_quit_hook()
    437 
    438         self.register_interface_magics()
    439 
    440         if SAGE_IMPORTALL == 'yes':
    441             self.init_environment()
    442 
    443     def register_interface_magics(self):
    444         """
    445         Register magics for each of the Sage interfaces
    446         """
    447         from sage.repl.interface_magic import InterfaceMagic
    448         InterfaceMagic.register_all(self.shell)

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/all.py in 
<module>()
     79 from time                import sleep
     80 from functools import reduce  # in order to keep reduce in python3
     81 
     82 import sage.misc.lazy_import
     83 from sage.misc.all       import *         # takes a while
     84 from sage.typeset.all    import *
     85 from sage.repl.all       import *
     86 
     87 from sage.misc.sh import sh
     88 
     89 from sage.libs.all       import *
     90 from sage.data_structures.all import *
     91 from sage.doctest.all    import *
     92 
     93 from sage.structure.all  import *
---> 94 from sage.rings.all      import *
        global sage.rings.all = undefined
     95 from sage.arith.all      import *
     96 from sage.matrix.all     import *
     97 
     98 from sage.symbolic.all   import *
     99 from sage.modules.all    import *
    100 from sage.monoids.all    import *
    101 from sage.algebras.all   import *
    102 from sage.modular.all    import *
    103 from sage.sat.all        import *
    104 from sage.schemes.all    import *
    105 from sage.graphs.all     import *
    106 from sage.groups.all     import *
    107 from sage.arith.power    import generic_power as power
    108 from sage.databases.all  import *
    109 from sage.categories.all import *

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/rings/all.py 
in <module>()
     73 from .real_mpfr import (RealField, RR,
     74                        create_RealNumber as RealNumber)   # this is 
used by the preparser to wrap real literals -- very important.
     75 Reals = RealField
     76 
     77 from .real_double import RealDoubleField, RDF, RealDoubleElement
     78 
     79 from .real_lazy import RealLazyField, RLF, ComplexLazyField, CLF
     80 
     81 from sage.rings.real_arb import RealBallField, RBF
     82 
     83 # Polynomial Rings and Polynomial Quotient Rings
     84 from .polynomial.all import *
     85 
     86 
     87 # Algebraic numbers
---> 88 from .qqbar import (AlgebraicRealField, AA,
        global qqbar = undefined
        global AlgebraicRealField = undefined
        global AA = undefined
        global AlgebraicReal = undefined
        global AlgebraicField = undefined
        global QQbar = undefined
        global AlgebraicNumber = undefined
        global number_field_elements_from_algebraics = undefined
     89                    AlgebraicReal,
     90                    AlgebraicField, QQbar,
     91                    AlgebraicNumber,
     92                    number_field_elements_from_algebraics)
     93 from .universal_cyclotomic_field import UniversalCyclotomicField, E
     94 
     95 # Intervals
     96 from .real_mpfi import (RealIntervalField,
     97                        RIF,
     98                        RealInterval)
     99 
    100 # Complex numbers
    101 from .complex_field import ComplexField
    102 from .complex_number import (create_ComplexNumber as ComplexNumber)
    103 Complexes = ComplexField

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/rings/qqbar.py
 in <module>()
   2138     if single_number:
   2139         nums = nums[0]
   2140 
   2141     if same_field:
   2142         hom = fld.hom([gen.root_as_algebraic()], 
codomain=algebraic_field)
   2143     else:
   2144         hom = fld.hom([gen.root_as_algebraic()])
   2145 
   2146     return (fld, nums, hom)
   2147 
   2148 # Cache some commonly-used polynomial rings
   2149 QQx = QQ['x']
   2150 QQx_x = QQx.gen()
   2151 QQy = QQ['y']
   2152 QQy_y = QQy.gen()
-> 2153 QQxy = QQ['x', 'y']
        global QQxy = undefined
        global QQ = None
   2154 QQxy_x = QQxy.gen(0)
   2155 QQxy_y = QQxy.gen(1)
   2156 
   2157 
   2158 def cmp_elements_with_same_minpoly(a, b, p):
   2159     r"""
   2160     Compare the algebraic elements ``a`` and ``b`` knowing that they 
have the
   2161     same minimal polynomial ``p``.
   2162 
   2163     This is an helper function for comparison of algebraic elements 
(i.e. the
   2164     methods :meth:`AlgebraicNumber._richcmp_` and
   2165     :meth:`AlgebraicReal._richcmp_`).
   2166 
   2167     INPUT:
   2168 

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/structure/parent.pyx
 in sage.structure.parent.Parent.__getitem__ 
(build/cythonized/sage/structure/parent.c:11156)()
   1207             sage: class A(Parent):
   1208             ....:     def __init__(self):
   1209             ....:         Parent.__init__(self, category=As())
   1210             sage: a = A()
   1211             sage: a[1]
   1212             'coucou'
   1213         """
   1214         try:
   1215             meth = super(Parent, self).__getitem__
   1216         except AttributeError:
   1217             # needed when self is a Cython object
   1218             try:
   1219                 meth = self.getattr_from_category('__getitem__')
   1220             except AttributeError:
   1221                 return self.list()[n]
-> 1222         return meth(n)
        global meth = undefined
        global n = undefined
   1223 
   1224     
#################################################################################
   1225     # Generators and Homomorphisms
   1226     
#################################################################################
   1227 
   1228     def _is_valid_homomorphism_(self, codomain, im_gens):
   1229        r"""
   1230        Return True if ``im_gens`` defines a valid homomorphism
   1231        from self to codomain; otherwise return False.
   1232 
   1233        If determining whether or not a homomorphism is valid has not
   1234        been implemented for this ring, then a NotImplementedError 
exception
   1235        is raised.
   1236        """
   1237        raise NotImplementedError("Verification of correctness of 
homomorphisms from %s not yet implemented."%self)

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/categories/rings.py
 in __getitem__(self=Rational Field, arg=('x', 'y'))
   1072                                                    and 
elt.imag().is_zero()):
   1073                             emb = RLF(elt)
   1074                         else:
   1075                             emb = CLF(elt)
   1076                         return self.extension(minpolys[0], names[0], 
embedding=emb)
   1077                 try:
   1078                     # Doing the extension all at once is best, if 
possible...
   1079                     return self.extension(minpolys, names)
   1080                 except (TypeError, ValueError):
   1081                     # ...but we can also construct it iteratively
   1082                     return reduce(lambda R, ext: R.extension(*ext), 
zip(minpolys, names), self)
   1083 
   1084             # 2. Otherwise, try to return a polynomial ring
   1085 
   1086             from sage.rings.polynomial.polynomial_ring_constructor 
import PolynomialRing
-> 1087             return PolynomialRing(self, elts)
        PolynomialRing = <function PolynomialRing at 0x10db56320>
        self = Rational Field
        elts = ('x', 'y')
   1088 
   1089     class ElementMethods:
   1090         def is_unit(self):
   1091             r"""
   1092             Return whether this element is a unit in the ring.
   1093 
   1094             .. NOTE::
   1095 
   1096                 This is a generic implementation for (non-commutative) 
rings
   1097                 which only works for the one element, its additive 
inverse, and
   1098                 the zero element.  Most rings should provide a more 
specialized
   1099                 implementation.
   1100 
   1101             EXAMPLES::
   1102 

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py
 in PolynomialRing(base_ring=Rational Field, *args=(('x', 'y'),), **kwds={})
    633     names = normalize_names(n, names)
    634 
    635     # At this point, we have only handled the "names" keyword if it was
    636     # needed. Since we know the variable names, it would logically be
    637     # an error to specify an additional "names" keyword. However,
    638     # people often abuse the preparser with
    639     #   R.<x> = PolynomialRing(QQ, 'x')
    640     # and we allow this for historical reasons. However, the names
    641     # must be consistent!
    642     if "names" in kwds:
    643         kwnames = kwds.pop("names")
    644         if kwnames != names:
    645             raise TypeError("variable names specified twice 
inconsistently: %r and %r" % (names, kwnames))
    646 
    647     if multivariate or len(names) != 1:
--> 648         return _multi_variate(base_ring, names, **kwds)
        global _multi_variate = <function _multi_variate at 0x10db56578>
        base_ring = Rational Field
        names = ('x', 'y')
        kwds = {}
    649     else:
    650         return _single_variate(base_ring, names, **kwds)
    651 
    652 
    653 def unpickle_PolynomialRing(base_ring, arg1=None, arg2=None, 
sparse=False):
    654     """
    655     Custom unpickling function for polynomial rings.
    656 
    657     This has the same positional arguments as the old
    658     ``PolynomialRing`` constructor before :trac:`23338`.
    659     """
    660     args = [arg for arg in (arg1, arg2) if arg is not None]
    661     return PolynomialRing(base_ring, *args, sparse=sparse)
    662 
    663 from sage.misc.persist import register_unpickle_override

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py
 in _multi_variate(base_ring=Rational Field, names=('x', 'y'), sparse=True, 
order=Degree reverse lexicographic term order, implementation=None)
    761     from sage.rings.polynomial.term_order import TermOrder
    762     n = len(names)
    763     order = TermOrder(order, n)
    764 
    765     # "implementation" must be last
    766     key = [base_ring, names, n, order, implementation]
    767     R = _get_from_cache(key)
    768     if R is not None:
    769         return R
    770 
    771     # Multiple arguments for the "implementation" keyword which actually
    772     # yield the same implementation. We need this for caching.
    773     implementation_names = set([implementation])
    774 
    775     if implementation is None or implementation == "singular":
--> 776         from sage.rings.polynomial.multi_polynomial_libsingular import 
MPolynomialRing_libsingular
        global sage.rings.polynomial.multi_polynomial_libsingular = <module 
'sage.rings.polynomial.multi_polynomial_libsingular' (built-in)>
        MPolynomialRing_libsingular = undefined
    777         try:
    778             R = MPolynomialRing_libsingular(base_ring, n, names, order)
    779         except (TypeError, NotImplementedError):
    780             if implementation is not None:
    781                 raise
    782         else:
    783             implementation_names.update([None, "singular"])
    784 
    785     if R is None and implementation is None:
    786         # Interpret implementation=None as implementation="generic"
    787         implementation = "generic"
    788         implementation_names.add(implementation)
    789         key[-1] = implementation
    790         R = _get_from_cache(key)
    791 

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/rings/polynomial/multi_polynomial_libsingular.pyx
 in init sage.rings.polynomial.multi_polynomial_libsingular 
(build/cythonized/sage/rings/polynomial/multi_polynomial_libsingular.cpp:48276)()
----> 1 r"""
      2 Multivariate Polynomials via libSINGULAR
      3 
      4 This module implements specialized and optimized implementations for
      5 multivariate polynomials over many coefficient rings, via a shared 
library
      6 interface to SINGULAR. In particular, the following coefficient rings 
are
      7 supported by this implementation:
      8 
      9 - the rational numbers `\QQ`,
     10 
     11 - the ring of integers `\ZZ`,
     12 
     13 - `\ZZ/n\ZZ` for any integer `n`,
     14 
     15 - finite fields `\GF{p^n}` for `p` prime and `n > 0`,
     16 
     17 - and absolute number fields `\QQ(a)`.
     18 
     19 AUTHORS:
     20 
     21 The libSINGULAR interface was implemented by
     22 
     23 - Martin Albrecht (2007-01): initial implementation
     24 
     25 - Joel Mohler (2008-01): misc improvements, polishing
     26 
     27 - Martin Albrecht (2008-08): added `\QQ(a)` and `\ZZ` support
     28 
     29 - Simon King (2009-04): improved coercion
     30 
     31 - Martin Albrecht (2009-05): added `\ZZ/n\ZZ` support, refactoring

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/libs/singular/singular.pyx
 in init sage.libs.singular.singular 
(build/cythonized/sage/libs/singular/singular.cpp:10934)()
    796     singular_options = singular_options | Sy_bit(OPT_REDSB) | 
Sy_bit(OPT_INTSTRATEGY) | Sy_bit(OPT_REDTAIL) | Sy_bit(OPT_REDTHROUGH)
    797     global _saved_options
    798     global _saved_verbose_options
    799     _saved_options = (int(singular_options), 0, 0)
    800     _saved_verbose_options = int(singular_verbose_options)
    801 
    802     #On(SW_USE_NTL)
    803     On(SW_USE_EZGCD)
    804     Off(SW_USE_NTL_SORT)
    805 
    806     WerrorS_callback = libsingular_error_callback
    807 
    808     error_messages = []
    809 
    810 # call the init routine
--> 811 init_libsingular()
        global init_libsingular = undefined
    812 
    813 cdef void libsingular_error_callback(const_char_ptr s):
    814     _s = char_to_str(s)
    815     error_messages.append(_s)

/Users/ahausknecht/SageMath/local/lib/python2.7/site-packages/sage/libs/singular/singular.pyx
 in sage.libs.singular.singular.init_libsingular 
(build/cythonized/sage/libs/singular/singular.cpp:8487)()
    759     SINGULAR has a concept of compiled extension modules similar to
    760     Sage. For this, the compiled modules need to see the symbols from
    761     the main program. However, SINGULAR is a shared library in this
    762     context these symbols are not known globally. The work around so
    763     far is to load the library again and to specify ``RTLD_GLOBAL``.
    764     """
    765     global singular_options
    766     global singular_verbose_options
    767     global WerrorS_callback
    768     global error_messages
    769 
    770     cdef void *handle = NULL
    771 
    772     from sage.env import SINGULAR_SO
    773     if not SINGULAR_SO or not os.path.exists(SINGULAR_SO):
--> 774         raise RuntimeError(
        global RuntimeError = undefined
    775             "libSingular not found--a working Singular install in 
$SAGE_LOCAL "
    776             "is required for Sage to work")
    777 
    778     lib = SINGULAR_SO
    779 
    780     if not os.path.exists(lib):
    781         raise ImportError("cannot locate Singular library 
({})".format(lib))
    782 
    783     lib = str_to_bytes(lib, FS_ENCODING, "surrogateescape")
    784 
    785     handle = dlopen(lib, RTLD_GLOBAL|RTLD_LAZY)
    786     if not handle:
    787         err = dlerror()
    788         raise ImportError("cannot load Singular library 
({})".format(err))
    789 

RuntimeError: libSingular not found--a working Singular install in $SAGE_LOCAL 
is required for Sage to work

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

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

Reply via email to