***************************************************************************
IPython post-mortem report
{'commit_hash': u'b630b41',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': '/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython',
'ipython_version': '4.2.1',
'os_name': 'posix',
'platform': 'Linux-4.4.0-36-generic-x86_64-with-debian-stretch-sid',
'sys_executable': '/usr/lib/sagemath/local/bin/python',
'sys_platform': 'linux2',
'sys_version': '2.7.10 (default, Aug 6 2016, 15:34:26) \n[GCC 4.8.4]'}
***************************************************************************
***************************************************************************
Crash traceback:
---------------------------------------------------------------------------
---------------------------------------------------------------------------
ImportError Python 2.7.10: /usr/lib/sagemath/local/bin/python
Thu Sep 15 11:06:45 2016
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/lib/sagemath/src/bin/sage-ipython in <module>()
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 """
4 Sage IPython startup script.
5 """
6
7 # Install extra readline commands before IPython initialization
8 from sage.repl.readline_extra_commands import *
9
10 from sage.repl.interpreter import SageTerminalApp
11
12 app = SageTerminalApp.instance()
---> 13 app.initialize()
global app.initialize = <bound method SageTerminalApp.initialize of <sage.repl.interpreter.SageTerminalApp object at 0x7fa7b0da2550>>
14 app.start()
<decorator-gen-111> in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
/usr/lib/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={})
59
60 #-----------------------------------------------------------------------------
61 # Application class
62 #-----------------------------------------------------------------------------
63
64 @decorator
65 def catch_config_error(method, app, *args, **kwargs):
66 """Method decorator for catching invalid config (Trait/ArgumentErrors) during init.
67
68 On a TraitError (generally caused by bad config), this will print the trait's
69 message, and exit the app.
70
71 For use on init methods, to prevent invoking excepthook on invalid input.
72 """
73 try:
---> 74 return method(app, *args, **kwargs)
method = <function initialize at 0x7fa7aa43a8c0>
app = <sage.repl.interpreter.SageTerminalApp object at 0x7fa7b0da2550>
args = (None,)
kwargs = {}
75 except (TraitError, ArgumentError) as e:
76 app.print_help()
77 app.log.fatal("Bad config encountered during initialization:")
78 app.log.fatal(str(e))
79 app.log.debug("Config at the time: %s", app.config)
80 app.exit(1)
81
82
83 class ApplicationError(Exception):
84 pass
85
86
87 class LevelFormatter(logging.Formatter):
88 """Formatter with additional `highlevel` record
89
/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/terminal/ipapp.pyc in initialize(self=<sage.repl.interpreter.SageTerminalApp object>, argv=None)
290
291 return super(TerminalIPythonApp, self).parse_command_line(argv)
292
293 @catch_config_error
294 def initialize(self, argv=None):
295 """Do actions after construct, but before starting the app."""
296 super(TerminalIPythonApp, self).initialize(argv)
297 if self.subapp is not None:
298 # don't bother initializing further, starting subapp
299 return
300 # print self.extra_args
301 if self.extra_args and not self.something_to_run:
302 self.file_to_run = self.extra_args[0]
303 self.init_path()
304 # create the shell
--> 305 self.init_shell()
self.init_shell = <bound method SageTerminalApp.init_shell of <sage.repl.interpreter.SageTerminalApp object at 0x7fa7b0da2550>>
306 # and draw the banner
307 self.init_banner()
308 # Now a variety of things that happen after the banner is printed.
309 self.init_gui_pylab()
310 self.init_extensions()
311 self.init_code()
312
313 def init_shell(self):
314 """initialize the InteractiveShell instance"""
315 # Create an InteractiveShell instance.
316 # shell.display_banner should always be False for the terminal
317 # based app, because we call shell.show_banner() by hand below
318 # so the banner shows *before* all extension loading stuff.
319 self.shell = TerminalInteractiveShell.instance(parent=self,
320 display_banner=False, profile_dir=self.profile_dir,
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/repl/interpreter.pyc in init_shell(self=<sage.repl.interpreter.SageTerminalApp object>)
783 self.shell.has_sage_extensions = SAGE_EXTENSION in self.extensions
784
785 # Load the %lprun extension if available
786 try:
787 import line_profiler
788 except ImportError:
789 pass
790 else:
791 self.extensions.append('line_profiler')
792
793 if self.shell.has_sage_extensions:
794 self.extensions.remove(SAGE_EXTENSION)
795
796 # load sage extension here to get a crash if
797 # something is wrong with the sage library
--> 798 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 0x7fa7a8332450>>
global SAGE_EXTENSION = 'sage'
799
800
/usr/lib/sagemath/local/lib/python2.7/site-packages/IPython/core/extensions.pyc in load_extension(self=<IPython.core.extensions.ExtensionManager object>, module_str='sage')
71
72 Returns the string "already loaded" if the extension is already loaded,
73 "no load function" if the module doesn't have a load_ipython_extension
74 function, or None if it succeeded.
75 """
76 if module_str in self.loaded:
77 return "already loaded"
78
79 from IPython.utils.syspathcontext import prepended_to_syspath
80
81 with self.shell.builtin_trap:
82 if module_str not in sys.modules:
83 with prepended_to_syspath(self.ipython_extension_dir):
84 __import__(module_str)
85 mod = sys.modules[module_str]
---> 86 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 0x7fa7a8332450>>
mod = <module 'sage' from '/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/__init__.pyc'>
87 self.loaded.add(module_str)
88 else:
89 return "no load function"
90
91 def unload_extension(self, module_str):
92 """Unload an IPython extension by its module name.
93
94 This function looks up the extension's name in ``sys.modules`` and
95 simply calls ``mod.unload_ipython_extension(self)``.
96
97 Returns the string "no unload function" if the extension doesn't define
98 a function to unload itself, "not loaded" if the extension isn't loaded,
99 otherwise None.
100 """
101 if module_str not in self.loaded:
/usr/lib/sagemath/local/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/sagemath/local/lib/python2.7/site-packages/sage/__init__.pyc'>)
118 """
119 from IPython.utils.syspathcontext import prepended_to_syspath
120
121 if (module_str in self.loaded) and (module_str in sys.modules):
122 self.unload_extension(module_str)
123 mod = sys.modules[module_str]
124 with prepended_to_syspath(self.ipython_extension_dir):
125 reload(mod)
126 if self._call_load_ipython_extension(mod):
127 self.loaded.add(module_str)
128 else:
129 self.load_extension(module_str)
130
131 def _call_load_ipython_extension(self, mod):
132 if hasattr(mod, 'load_ipython_extension'):
--> 133 mod.load_ipython_extension(self.shell)
mod.load_ipython_extension = <function load_ipython_extension at 0x7fa7b0d9dde8>
self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fa7aa3d6d10>
134 return True
135
136 def _call_unload_ipython_extension(self, mod):
137 if hasattr(mod, 'unload_ipython_extension'):
138 mod.unload_ipython_extension(self.shell)
139 return True
140
141 def install_extension(self, url, filename=None):
142 """Download and install an IPython extension.
143
144 If filename is given, the file will be so named (inside the extension
145 directory). Otherwise, the name from the URL will be used. The file must
146 have a .py or .zip extension; otherwise, a ValueError will be raised.
147
148 Returns the full path to the installed file.
/usr/lib/sagemath/local/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 0x7fa7a8343398>
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fa7aa3d6d10>,)
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in wrapper(*args=(<sage.repl.interpreter.SageTerminalInteractiveShell object>,), **kwargs={})
459 ....: if work:
460 ....: return 'foo worked'
461 ....: raise RuntimeError("foo didn't work")
462 sage: foo(False)
463 Traceback (most recent call last):
464 ...
465 RuntimeError: foo didn't work
466 sage: foo(True)
467 'foo worked'
468 sage: foo(False)
469 sage: foo(True)
470 """
471 @wraps(func)
472 def wrapper(*args, **kwargs):
473 if not wrapper.has_run:
--> 474 result = func(*args, **kwargs)
result = undefined
global func = undefined
args = (<sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fa7aa3d6d10>,)
kwargs = {}
475 wrapper.has_run = True
476 return result
477 wrapper.has_run = False
478 return wrapper
479
480
481 @run_once
482 def load_ipython_extension(ip):
483 """
484 Load the extension in IPython.
485 """
486 # this modifies ip
487 SageCustomizations(shell=ip)
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/repl/ipython_extension.pyc in load_ipython_extension(ip=<sage.repl.interpreter.SageTerminalInteractiveShell object>)
472 def wrapper(*args, **kwargs):
473 if not wrapper.has_run:
474 result = func(*args, **kwargs)
475 wrapper.has_run = True
476 return result
477 wrapper.has_run = False
478 return wrapper
479
480
481 @run_once
482 def load_ipython_extension(ip):
483 """
484 Load the extension in IPython.
485 """
486 # this modifies ip
--> 487 SageCustomizations(shell=ip)
global SageCustomizations = <class 'sage.repl.ipython_extension.SageCustomizations'>
global shell = undefined
ip = <sage.repl.interpreter.SageTerminalInteractiveShell object at 0x7fa7aa3d6d10>
/usr/lib/sagemath/local/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>)
362 def __init__(self, shell=None):
363 """
364 Initialize the Sage plugin.
365 """
366 self.shell = shell
367
368 self.auto_magics = SageMagics(shell)
369 self.shell.register_magics(self.auto_magics)
370
371 import sage.misc.edit_module as edit_module
372 self.shell.set_hook('editor', edit_module.edit_devel)
373
374 self.init_inspector()
375 self.init_line_transforms()
376
--> 377 import sage.all # until sage's import hell is fixed
sage.all = undefined
378
379 self.shell.verbose_quit = True
380 self.set_quit_hook()
381
382 self.register_interface_magics()
383
384 if SAGE_IMPORTALL == 'yes':
385 self.init_environment()
386
387 def register_interface_magics(self):
388 """
389 Register magics for each of the Sage interfaces
390 """
391 from sage.repl.interface_magic import InterfaceMagic
392 InterfaceMagic.register_all(self.shell)
/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/all.py in <module>()
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 *
104 from sage.arith.all import *
105 from sage.matrix.all import *
106
107 # This must come before Calculus -- it initializes the Pynac library.
--> 108 import sage.symbolic.pynac
global sage.symbolic.pynac = undefined
109
110 from sage.modules.all import *
111 from sage.monoids.all import *
112 from sage.algebras.all import *
113 from sage.modular.all import *
114 from sage.sat.all import *
115 from sage.schemes.all import *
116 from sage.graphs.all import *
117 from sage.groups.all import *
118 from sage.databases.all import *
119 from sage.categories.all import *
120 from sage.sets.all import *
121 from sage.probability.all import *
122 from sage.interfaces.all import *
123
ImportError: /usr/lib/sagemath/local/lib/python2.7/site-packages/sage/symbolic/pynac.so: undefined symbol: _ZN5GiNaC8constantC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPFNS_2exEjP7_objectERKS6_j
***************************************************************************