#1052051 sagemath: Sagemath 9.5-6 expects libsingular-Singular-4.3.1.so but libsingular-Singular-4.3.2.so is installed

#1052051#5
Date:
2023-09-16 07:56:14 UTC
From:
To:
Dear Maintainer,

   * What led up to the situation?
	Typing "sage" and pressing Enter

   * What was the outcome of this action?
	Sagemath did not start

   * What outcome did you expect instead?
	Sagemath should start

*** End of the template - remove these template lines ***

#1052051#10
Date:
2023-09-22 10:20:10 UTC
From:
To:
Dear Maintainer,

When running sage, there is an ImportError related to libsingular-
Singular-4.3.1.so (full trace below). From what I can see, python3-sage depends
on libsingular4m3n0:

$ apt depends python3-sage | grep libsingular
  Depends: libsingular4m3n0 (>= 1:4.3.1-p3+ds)
  Depends: libsingular4-dev (>= 1:4.2.1-p2+ds-3)

but the library provided by package libsingular4m3n0 is libsingular-
Singular-4.3.2.so instead (that is, 4.3.2 instead of 4.3.1):

$ dpkg -L libsingular4m3n0 | grep .so
/usr/lib/x86_64-linux-gnu/libsingular-Singular-4.3.2.so
/usr/lib/x86_64-linux-gnu/libsingular-factory-4.3.2.so
/usr/lib/x86_64-linux-gnu/libsingular-omalloc-4.3.2+0.9.6.so
/usr/lib/x86_64-linux-gnu/libsingular-polys-4.3.2.so
/usr/lib/x86_64-linux-gnu/libsingular-resources-4.3.2.so


And here is the full trace:
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.5, Release Date: 2022-01-30                     │
│ Using Python 3.11.5. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3.11/pathlib.py", line 1251, in is_dir
    return S_ISDIR(self.stat().st_mode)
                   ^^^^^^^^^
AttributeError: 'str' object has no attribute 'stat'

Original exception was:
Traceback (most recent call last):
  File "/usr/bin/sage-ipython", line 15, in <module>
    app.initialize()
  File "/usr/lib/python3/dist-packages/traitlets/config/application.py", line
110, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/terminal/ipapp.py", line 279, in
initialize
    self.init_shell()
  File "/usr/lib/python3/dist-packages/sage/repl/interpreter.py", line 789, in
init_shell
    self.shell.extension_manager.load_extension(SAGE_EXTENSION)
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 76, in
load_extension
    return self._load_extension(module_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 93, in
_load_extension
    if self._call_load_ipython_extension(mod):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 145,
in _call_load_ipython_extension
    mod.load_ipython_extension(self.shell)
  File "/usr/lib/python3/dist-packages/sage/repl/__init__.py", line 5, in
load_ipython_extension
    sage.repl.ipython_extension.load_ipython_extension(*args)
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line
617, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line
630, in load_ipython_extension
    SageCustomizations(shell=ip)
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line
434, in __init__
    import sage.all # until sage's import hell is fixed
    ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/all.py", line 169, in <module>
    from sage.rings.all      import *
  File "/usr/lib/python3/dist-packages/sage/rings/all.py", line 87, in <module>
    from .qqbar import (AlgebraicRealField, AA,
  File "/usr/lib/python3/dist-packages/sage/rings/qqbar.py", line 2810, in
<module>
    QQxy = QQ['x', 'y']
           ~~^^^^^^^^^^
  File "sage/structure/parent.pyx", line 1276, in
sage.structure.parent.Parent.__getitem__
(build/cythonized/sage/structure/parent.c:11543)
  File "/usr/lib/python3/dist-packages/sage/categories/rings.py", line 1177, in
__getitem__
    return PolynomialRing(self, elts)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-
packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 647, in
PolynomialRing
    return _multi_variate(base_ring, names, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-
packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 775, in
_multi_variate
    from sage.rings.polynomial.multi_polynomial_libsingular import
MPolynomialRing_libsingular
ImportError: libsingular-Singular-4.3.1.so: cannot open shared object file: No
such file or directory


Thanks,
Jordi

#1052051#15
Date:
2024-02-06 03:27:06 UTC
From:
To:
Dear Maintainer,

When I run sagemath here, I get:

~$ sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.5, Release Date: 2022-01-30                     │
│ Using Python 3.11.7. Type "help()" for help.                       │
└────────────────────────────────────────────────────────────────────┘
Error in sys.excepthook:
Traceback (most recent call last):
  File "/usr/lib/python3.11/pathlib.py", line 1251, in is_dir
    return S_ISDIR(self.stat().st_mode)
                   ^^^^^^^^^

AttributeError: 'str' object has no attribute 'stat'
Original exception was:
Traceback (most recent call last):
  File "/usr/bin/sage-ipython", line 15, in <module>
    app.initialize()
  File "/usr/lib/python3/dist-packages/traitlets/config/application.py", line 110, in inner
    return method(app, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/terminal/ipapp.py", line 278, in initialize
    self.init_shell()
  File "/usr/lib/python3/dist-packages/sage/repl/interpreter.py", line 789, in init_shell
    self.shell.extension_manager.load_extension(SAGE_EXTENSION)
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 76, in load_extension
    return self._load_extension(module_str)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 93, in _load_extension
    if self._call_load_ipython_extension(mod):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/IPython/core/extensions.py", line 145, in _call_load_ipython_extension
    mod.load_ipython_extension(self.shell)
  File "/usr/lib/python3/dist-packages/sage/repl/__init__.py", line 5, in load_ipython_extension
    sage.repl.ipython_extension.load_ipython_extension(*args)
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line 617, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line 630, in load_ipython_extension
    SageCustomizations(shell=ip)
  File "/usr/lib/python3/dist-packages/sage/repl/ipython_extension.py", line 434, in __init__
    import sage.all # until sage's import hell is fixed
    ^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/all.py", line 169, in <module>
    from sage.rings.all      import *
  File "/usr/lib/python3/dist-packages/sage/rings/all.py", line 87, in <module>
    from .qqbar import (AlgebraicRealField, AA,
  File "/usr/lib/python3/dist-packages/sage/rings/qqbar.py", line 2810, in <module>
    QQxy = QQ['x', 'y']
           ~~^^^^^^^^^^
  File "sage/structure/parent.pyx", line 1276, in sage.structure.parent.Parent.__getitem__ (build/cythonized/sage/structure/parent.c:11543)
  File "/usr/lib/python3/dist-packages/sage/categories/rings.py", line 1177, in __getitem__
    return PolynomialRing(self, elts)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 647, in PolynomialRing
    return _multi_variate(base_ring, names, **kwds)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/sage/rings/polynomial/polynomial_ring_constructor.py", line 775, in _multi_variate
    from sage.rings.polynomial.multi_polynomial_libsingular import MPolynomialRing_libsingular
ImportError: libsingular-Singular-4.3.1.so: cannot open shared object file: No such file or directory

I just reported a bug on libsingular, but now it is clear that sage calls a version of it (4.3.1) that is no longer available after the upgrade (4.3.2 is the one installed). Is it only a matter of update the version of this dependency?

Best, Alexandre.

#1052051#24
Date:
2024-02-20 01:15:58 UTC
From:
To:
Dear Maintainer,

sagemath can't be run here. After many messages, the last one is:

ImportError: libsingular-Singular-4.3.1.so: cannot open shared object file: No such file or directory

Maybe it can be fixed by invoking the currently installed version of
libsingular. Or is it more complicated than that?

Best, Alexandre

#1052051#31
Date:
2024-09-08 16:04:20 UTC
From:
To:
Hello,

I would like to confirm this bug and add that on a Sid system, sagemath
seems to block upgrades.  And the following command might give a clue as
to why (I have no held packages):
--- # apt-get install sagemath Reading package lists... Done Building dependency tree... Done Reading state information... Done sagemath is already the newest version (9.5-6). Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: libsingular4m4n0 : Conflicts: libsingular4m3n0 (> 4.4.0) E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages. --- Respectfully, G.raud