sebastian bach wrote: > I don't know how to fix this > > *************************************************************************** > > 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.0.0', > 'os_name': 'posix', > 'platform': 'Linux-4.2.5-1-ARCH-i686-with-glibc2.0', > 'sys_executable': '/usr/bin/python2', > 'sys_platform': 'linux2', > 'sys_version': '2.7.10 (default, Sep 7 2015, 13:41:51) \n[GCC 5.2.0]'} > > *************************************************************************** > > > > *************************************************************************** > > Crash traceback: > > --------------------------------------------------------------------------- > --------------------------------------------------------------------------- > ImportError Python 2.7.10: /usr/bin/python2 > Mon Aug 15 03:53:21 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/bin/sage-ipython in <module>() > 1 #!/usr/bin/env python2 > 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 0xb707da4c>> > 14 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={}) > 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 0xb62df6bc> > app = <sage.repl.interpreter.SageTerminalApp object at 0xb707da4c> > 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/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 0xb707da4c>> > 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>) > 750 self.shell.has_sage_extensions = SAGE_EXTENSION in > self.extensions > 751 > 752 # Load the %lprun extension if available > 753 try: > 754 import line_profiler > 755 except ImportError: > 756 pass > 757 else: > 758 self.extensions.append('line_profiler') > 759 > 760 if self.shell.has_sage_extensions: > 761 self.extensions.remove(SAGE_EXTENSION) > 762 > 763 # load sage extension here to get a crash if > 764 # something is wrong with the sage library > --> 765 > 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 0xb58893cc>> > global SAGE_EXTENSION = 'sage' > 766 > 767 > > /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 0xb58893cc>> > 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 > 0xb7275fb4> > self.shell = <sage.repl.interpreter.SageTerminalInteractiveShell > object at 0xb62e7c4c> > 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 0xb57a9ca4> > args = (<sage.repl.interpreter.SageTerminalInteractiveShell > object at 0xb62e7c4c>,) > > /usr/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 0xb62e7c4c>,) > 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/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 0xb62e7c4c> > > /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>) > 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/python2.7/site-packages/sage/all.py in <module>() > 77 > 78 # Add SAGE_SRC at the end of sys.path to enable Cython tracebacks > 79 # (which use paths relative to SAGE_SRC) > 80 sys.path.append(SAGE_SRC) > 81 > 82 > 83 ################################################################### > 84 > 85 # This import also setups the interrupt handler > 86 from cysignals.signals import (AlarmInterrupt, SignalError, > 87 sig_on_reset as sig_on_count) > 88 > 89 from time import sleep > 90 > 91 import sage.misc.lazy_import > ---> 92 from sage.misc.all import * # takes a while > global sage.misc.all = undefined > 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. > > /usr/lib/python2.7/site-packages/sage/misc/all.py in <module>() > 72 series_precision, set_series_precision) > 73 > 74 from .sage_eval import sage_eval, sageobj > 75 > 76 from .sage_input import sage_input > 77 > 78 lazy_import("sage.misc.cython", ["cython_lambda", > "cython_create_local_so"]) > 79 lazy_import("sage.misc.cython_c", "cython_compile", "cython") > 80 lazy_import("sage.misc.cython_c", "cython_compile", "pyrex", > deprecation=9552) > 81 lazy_import("sage.misc.cython_c", "cython_compile", "sagex", > deprecation=9552) > 82 > 83 from .persist import save, load, dumps, loads, db, db_save > 84 > 85 from .func_persist import func_persist > 86 > ---> 87 from .functional import (additive_order, > global functional = undefined > global additive_order = undefined > global base_ring = undefined > global base_field = undefined > global basis = undefined > global category = undefined > global charpoly = undefined > global characteristic_polynomial = undefined > global coerce = undefined > global cyclotomic_polynomial = undefined > global decomposition = undefined > global denominator = undefined > global det = undefined > global dimension = undefined > global dim = undefined > global discriminant = undefined > global disc = undefined > global eta = undefined > global fcp = undefined > global gen = undefined > global gens = undefined > global hecke_operator = undefined > global image = undefined > global integral = undefined > global integrate = undefined > global integral_closure = undefined > global interval = undefined > global xinterval = undefined > global is_commutative = undefined > global is_even = undefined > global is_integrally_closed = undefined > global is_field = undefined > global is_odd = undefined > global kernel = undefined > global krull_dimension = undefined > global lift = undefined > global log = undefined > global log_b = undefined > global minimal_polynomial = undefined > global minpoly = undefined > global multiplicative_order = undefined > global ngens = undefined > global norm = undefined > global numerator = undefined > global numerical_approx = undefined > global n = undefined > global N = undefined > global objgens = undefined > global objgen = undefined > global one = undefined > global order = undefined > global rank = undefined > global regulator = undefined > global round = undefined > global quotient = undefined > global quo = undefined > global isqrt = undefined > global squarefree_part = undefined > global symbolic_sum = undefined > global sum = undefined > global transpose = undefined > global zero = undefined > 88 base_ring, > 89 base_field, > 90 basis, > 91 category, > 92 charpoly, > 93 characteristic_polynomial, > 94 coerce, > 95 cyclotomic_polynomial, > 96 decomposition, > 97 denominator, > 98 det, > 99 dimension, > 100 dim, > 101 discriminant, > 102 disc, > > /usr/lib/python2.7/site-packages/sage/misc/functional.py in <module>() > 16 # Copyright (C) 2004 William Stein <wst...@gmail.com> > 17 # > 18 # This program is free software: you can redistribute it and/or > modify > 19 # it under the terms of the GNU General Public License as > published by > 20 # the Free Software Foundation, either version 2 of the License, or > 21 # (at your option) any later version. > 22 # http://www.gnu.org/licenses/ > 23 > #***************************************************************************** > 24 from __future__ import absolute_import > 25 > 26 import sage.misc.latex > 27 import sage.interfaces.expect > 28 import sage.interfaces.mathematica > 29 > 30 > ---> 31 from sage.rings.complex_double import CDF > global sage.rings.complex_double = undefined > global CDF = undefined > 32 from sage.rings.real_double import RDF, RealDoubleElement > 33 > 34 import sage.rings.real_mpfr > 35 import sage.rings.complex_field > 36 import sage.rings.integer > 37 > 38 from six.moves import builtins > 39 > 40 LOG_TEN_TWO_PLUS_EPSILON = 3.321928094887363 # a small > overestimate of log(10,2) > 41 > 42 > ############################################################################## > 43 # There are many functions on elements of a ring, which > mathematicians > 44 # usually write f(x), e.g., it is weird to write x.log() and natural > 45 # to write log(x). The functions below allow for the more > familiar syntax. > 46 > ############################################################################## > > ImportError: libgsl.so.19: cannot open shared object file: No such file > or directory > > ***************************************************************************
Well, that's Arch Linux, don't know what they do to Sage. So where is it located? Normally, it's in $SAGE_LOCAL/lib/, and a symlink to libgsl.so.19.0.0 (in the same folder). -leif -- 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.