[Debian-pan-maintainers] SOLEIL debian packaging status

Emmanuel FARHI emmanuel.farhi at synchrotron-soleil.fr
Wed Aug 9 12:58:42 BST 2023


Hi Roland,

I took time during this very steady August to test a few recent packages 
that have been pushed to debian thanks to you. Here are my toughts and 
conclusions. If you ever find some time, please have a look.

There seem to be a similar error around QT5 on bookworm for packages 
napari, quasar, refnx, xrt.

*nabu*: OK on bookworm

    installs correctly on bookworm with the
    'python3-nabu_2023.1.1-2_all.deb python3-tomoscan_1.2.2-2_all.deb'
    packages from SID (https://tracker.debian.org/pkg/nabu
    https://tracker.debian.org/pkg/tomoscan)

    works as expected, it seems.

    does not install on bullseye as the h5py version is too old (req.
    h5py >=3)

*napari*: QT5 error on bookworm, pydantic error on bullseye, launcher 
missing

    installs correctly on bookworm and bullseye with the packages
    python3-app-model_0.2.0-1_all.deb python3-in-n-out_0.1.8-1_all.deb
    python3-napari-plugin-engine_0.2.0-1_all.deb
    python3-cachey_0.2.1-1_all.deb python3-magicgui_0.7.2-1_all.deb  
    python3-npe2_0.7.2-1_all.deb python3-docstring-parser_0.15-1_all.deb
    python3-napari_0.5.0~a1-1_all.deb python3-psygnal_0.9.1-1_all.deb

    /bookworm/: command 'napari' produces error:

    $ napari
    Traceback (most recent call last):
       File "/usr/bin/napari", line 8, in <module>
         sys.exit(main())
                  ^^^^^^
       File "/usr/lib/python3/dist-packages/napari/__main__.py", line
    556, in main
         _maybe_rerun_with_macos_fixes()
       File "/usr/lib/python3/dist-packages/napari/__main__.py", line
    442, in _maybe_rerun_with_macos_fixes
         from napari._qt import API_NAME
       File "/usr/lib/python3/dist-packages/napari/_qt/__init__.py",
    line 64, in <module>
         from napari._qt.qt_event_loop import get_app, gui_qt, quit_app, run
       File
    "/usr/lib/python3/dist-packages/napari/_qt/qt_event_loop.py", line
    11, in <module>
         from qtpy.QtGui import QIcon
       File "/usr/lib/python3/dist-packages/qtpy/QtGui.py", line 14, in
    <module>
         from PyQt5.QtGui import *
    ImportError: /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so:
    undefined symbol: _ZN15QSessionManager16staticMetaObjectE, version Qt_5

    bullseye: command 'napari' produces error:

    $ napari
    Traceback (most recent call last):
       File "/usr/bin/napari", line 5, in <module>
         from napari.__main__ import main
       File "/usr/lib/python3/dist-packages/napari/__main__.py", line
    17, in <module>
         from napari.utils.translations import trans
       File "/usr/lib/python3/dist-packages/napari/utils/__init__.py",
    line 2, in <module>
         from napari.utils.colormaps import Colormap
       File
    "/usr/lib/python3/dist-packages/napari/utils/colormaps/__init__.py",
    line 2, in <module>
         from napari.utils.colormaps.colormap import Colormap
       File
    "/usr/lib/python3/dist-packages/napari/utils/colormaps/colormap.py",
    line 9, in <module>
         from napari.utils.events import EventedModel
       File
    "/usr/lib/python3/dist-packages/napari/utils/events/__init__.py",
    line 17, in <module>
         from napari.utils.events.evented_model import EventedModel
       File
    "/usr/lib/python3/dist-packages/napari/utils/events/evented_model.py",
    line 8, in <module>
         from app_model.types import KeyBinding
       File "/usr/lib/python3/dist-packages/app_model/__init__.py", line
    10, in <module>
         from ._app import Application
       File "/usr/lib/python3/dist-packages/app_model/_app.py", line 9,
    in <module>
         from .registries import (
       File
    "/usr/lib/python3/dist-packages/app_model/registries/__init__.py",
    line 3, in <module>
         from ._keybindings_reg import KeyBindingsRegistry
       File
    "/usr/lib/python3/dist-packages/app_model/registries/_keybindings_reg.py",
    line 7, in <module>
         from app_model.types._keys import KeyBinding
       File
    "/usr/lib/python3/dist-packages/app_model/types/__init__.py", line
    2, in <module>
         from ._action import Action
       File "/usr/lib/python3/dist-packages/app_model/types/_action.py",
    line 7, in <module>
         from app_model._pydantic_compat import validator
       File
    "/usr/lib/python3/dist-packages/app_model/_pydantic_compat.py", line
    5, in <module>
         from pydantic import BaseModel, __version__
    ImportError: cannot import name '__version__' from 'pydantic'
    (/usr/lib/python3/dist-packages/pydantic/__init__.py)

*orange-quasar*: QT5 error on bookworm, quasar not installed as a 
module, nor launcher.

    installs correctly on bookworm, not on bullseye (req py >= 3.11)

    bookworm: the command 'orange-canvas' produces error

    $ orange-canvas
    Traceback (most recent call last):
       File "/usr/bin/orange-canvas", line 5, in <module>
         from Orange.canvas.__main__ import main
       File "/usr/lib/python3/dist-packages/Orange/__init__.py", line
    33, in <module>
         import pyqtgraph  # import pyqtgraph first so that it can
    detect Qt5
         ^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pyqtgraph/__init__.py", line
    18, in <module>
         from .colors import palette
       File
    "/usr/lib/python3/dist-packages/pyqtgraph/colors/palette.py", line
    1, in <module>
         from ..Qt import QtGui
       File "/usr/lib/python3/dist-packages/pyqtgraph/Qt/__init__.py",
    line 156, in <module>
         import PyQt5.QtGui
    ImportError: /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so:
    undefined symbol: _ZN15QSessionManager16staticMetaObjectE, version Qt_5

    I can not find a way to launch quasar itself (there should be a
    launcher)

    farhie at grades-vm:~/persistent_area/debs$ python3 -m quasar
    /usr/bin/python3: No module named quasar

*pyimagetool*: data files not writable (!!)

    installs OK on bookworm and bullseye
    (https://tracker.debian.org/pkg/pyimagetool)

    but does not launch with 'python3 -m pyimagetool' (there should be a
    launcher)

    python3 -m pyimagetool
    Traceback (most recent call last):
       File "<frozen runpy>", line 189, in _run_module_as_main
       File "<frozen runpy>", line 148, in _get_module_details
       File "<frozen runpy>", line 112, in _get_module_details
       File "/usr/lib/python3/dist-packages/pyimagetool/__init__.py",
    line 2, in <module>
         from .ImageTool import ImageTool
       File "/usr/lib/python3/dist-packages/pyimagetool/ImageTool.py",
    line 8, in <module>
         from .widgets import InfoBar
       File "/usr/lib/python3/dist-packages/pyimagetool/widgets.py",
    line 6, in <module>
         from .cmaps import CMap
       File
    "/usr/lib/python3/dist-packages/pyimagetool/cmaps/__init__.py", line
    1, in <module>
         from .CMap import CMap
       File "/usr/lib/python3/dist-packages/pyimagetool/cmaps/CMap.py",
    line 66, in <module>
         raise OSError(
    OSError: Packaged data files are not writeable, use a helper
    script.See /usr/share/pyimagetool/debian_pyimagetool.py

*refnx*: QT5 error on bookworm, invalid C extensions and missing 
numpy.typing on bullseye

    installs OK on both bookworm and bullseye.

    but there is an error launching command 'refnx'

    bookworm error:

    $ refnx
    /usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py:200:
    UserWarning: Can't use the C abeles backend
       warnings.warn("Can't use the C abeles backend")
    /usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py:233:
    UserWarning: Using the SLOW reflectivity calculation.
       warnings.warn("Using the SLOW reflectivity calculation.")
    Traceback (most recent call last):
       File "/usr/bin/refnx", line 33, in <module>
         sys.exit(load_entry_point('refnx==0.1.33', 'gui_scripts',
    'refnx')())
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/_app/__init__.py",
    line 54, in main
         sys.exit(gui(expt_file=expt_file))
                  ^^^^^^^^^^^^^^^^^^^^^^^^
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/_app/__init__.py",
    line 5, in gui
         from qtpy import QtGui, QtWidgets, QtCore
       File "/usr/lib/python3/dist-packages/qtpy/QtGui.py", line 14, in
    <module>
         from PyQt5.QtGui import *
    ImportError: /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so:
    undefined symbol: _ZN15QSessionManager16staticMetaObjectE, version Qt_5

    bullseye error:

    $ refnx
    /usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py:200:
    UserWarning: Can't use the C abeles backend
       warnings.warn("Can't use the C abeles backend")
    /usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py:233:
    UserWarning: Using the SLOW reflectivity calculation.
       warnings.warn("Using the SLOW reflectivity calculation.")
    Traceback (most recent call last):
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py",
    line 196, in get_reflect_backend
         from refnx.reflect import _creflect as _c
    ImportError: cannot import name '_creflect' from partially
    initialized module 'refnx.reflect' (most likely due to a circular
    import) (/usr/lib/py
    thon3/dist-packages/refnx/reflect/__init__.py)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
       File "/usr/bin/refnx", line 33, in <module>
         sys.exit(load_entry_point('refnx==0.1.33', 'gui_scripts',
    'refnx')())
       File "/usr/bin/refnx", line 25, in importlib_load_entry_point
         return next(matches).load()
       File "/usr/lib/python3.9/importlib/metadata.py", line 77, in load
         module = import_module(match.group('module'))
       File "/usr/lib/python3.9/importlib/__init__.py", line 127, in
    import_module
         return _bootstrap._gcd_import(name[level:], package, level)
       File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
       File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
       File "<frozen importlib._bootstrap>", line 986, in
    _find_and_load_unlocked
       File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
       File "<frozen importlib._bootstrap_external>", line 790, in
    exec_module
       File "<frozen importlib._bootstrap>", line 228, in
    _call_with_frames_removed
       File "/usr/lib/python3/dist-packages/refnx/reflect/__init__.py",
    line 3, in <module>
         from refnx.reflect.reflect_model import (
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py",
    line 242, in <module>
         kernel = get_reflect_backend("c")
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py",
    line 201, in get_reflect_backend
         return get_reflect_backend("python")
       File
    "/usr/lib/python3/dist-packages/refnx/reflect/reflect_model.py",
    line 236, in get_reflect_backend
         from refnx.reflect import _reflect as _py
       File "/usr/lib/python3/dist-packages/refnx/reflect/_reflect.py",
    line 28, in <module>
         import numpy.typing as npt
    ModuleNotFoundError: No module named 'numpy.typing'

*ufo-tofu*: opencl error

    installs OK on bookworm and bullseye.

    'tofu flow' command brings an error related to OpenCL. Hard to
    debug. 'tofu ez' works.

*bioxtas-raw*: error with colorcet version

    installs ok on bookworm, not on bullseye (req py >= 3.11)

    error when launching command bioxtas_raw and launcher

    $ more bioxtas-raw-README.txt
    $ bioxtas_raw
    Traceback (most recent call last):
       File "/usr/bin/bioxtas_raw", line 33, in <module>
         sys.exit(load_entry_point('bioxtasraw==2.1.1', 'gui_scripts',
    'bioxtas_raw')())
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/bin/bioxtas_raw", line 25, in importlib_load_entry_point
         return next(matches).load()
                ^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3.11/importlib/metadata/__init__.py", line
    202, in load
         module = import_module(match.group('module'))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3.11/importlib/__init__.py", line 126, in
    import_module
         return _bootstrap._gcd_import(name[level:], package, level)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
       File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
       File "<frozen importlib._bootstrap>", line 1149, in
    _find_and_load_unlocked
       File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
       File "<frozen importlib._bootstrap_external>", line 940, in
    exec_module
       File "<frozen importlib._bootstrap>", line 241, in
    _call_with_frames_removed
       File "/usr/lib/python3/dist-packages/bioxtasraw/RAW.py", line 61,
    in <module>
         import pyFAI, pyFAI.calibrant, pyFAI.control_points
       File "/usr/lib/python3/dist-packages/pyFAI/__init__.py", line 54,
    in <module>
         from .utils import decorators
       File "/usr/lib/python3/dist-packages/pyFAI/utils/__init__.py",
    line 55, in <module>
         from .. import resources
       File
    "/usr/lib/python3/dist-packages/pyFAI/resources/__init__.py", line
    72, in <module>
         import pkg_resources
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 3248, in <module>
         @_call_aside
          ^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 3223, in _call_aside
         f(*args, **kwargs)
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 3261, in _initialize_master_working_set
         working_set = WorkingSet._build_master()
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 617, in _build_master
         ws.require(__requires__)
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 956, in require
         needed = self.resolve(parse_requirements(requirements))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 815, in resolve
         dist = self._resolve_dist(
                ^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 844, in _resolve_dist
         env = Environment(self.entries)
               ^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 1044, in __init__
         self.scan(search_path)
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 1077, in scan
         self.add(dist)
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 1096, in add
         dists.sort(key=operator.attrgetter('hashcmp'), reverse=True)
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 2631, in hashcmp
         self.parsed_version,
         ^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py",
    line 2679, in parsed_version
         self._parsed_version = parse_version(self.version)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File
    "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/version.py",
    line 266, in __init__
         raise InvalidVersion(f"Invalid version: '{version}'")
    pkg_resources.extern.packaging.version.InvalidVersion: Invalid
    version: 'None'
    (package: colorcet)

*xrt*: QT5 error on bookworm (as above)

    installs OK on both bookworm and bullseye

    error when starting on bookworm

*tomopy*: wrong naming of lib.so files on bookworm

    import tomopy brings

    ModuleNotFoundError: The following shared library is missing:
    /usr/lib/python3/dist-packages/tomopy/util/extern/libtomopy-recon.so

    $ ls /usr/lib/python3/dist-packages/tomopy/util/extern/
    __init__.py  libtomopy-accel.cpython-311-x86_64-linux-gnu.so misc.py
    __pycache__  libtomopy-misc.cpython-311-x86_64-linux-gnu.so prep.py
    accel.py     libtomopy-prep.cpython-311-x86_64-linux-gnu.so recon.py
    gridrec.py   libtomopy-recon.cpython-311-x86_64-linux-gnu.so
    so the debian library naming scheme is not compatible with what
    tomopy expects

*tomogui/freeart and xrstools*: not installable (SID)

    seems to be uninstalable on both bookworm (req py < 3.11) and
    bullseye (req py > 3.10)

    even if not maintained anymore, could we build/push a version that
    works on bookworm ?

*navarp*:

    install OK on both bookworm and bullseye

    works OK on bullseye, error on bookworm with command 'navarp'

    $ navarp
    Traceback (most recent call last):
       File "/usr/bin/navarp", line 33, in <module>
         sys.exit(load_entry_point('navarp==1.3.0', 'console_scripts',
    'navarp')())
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/bin/navarp", line 25, in importlib_load_entry_point
         return next(matches).load()
                ^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3.11/importlib/metadata/__init__.py", line
    202, in load
         module = import_module(match.group('module'))
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "/usr/lib/python3.11/importlib/__init__.py", line 126, in
    import_module
         return _bootstrap._gcd_import(name[level:], package, level)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
       File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
       File "<frozen importlib._bootstrap>", line 1149, in
    _find_and_load_unlocked
       File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
       File "<frozen importlib._bootstrap_external>", line 940, in
    exec_module
       File "<frozen importlib._bootstrap>", line 241, in
    _call_with_frames_removed
       File "/usr/lib/python3/dist-packages/navarp/navarp_gui.py", line
    38, in <module>
         from matplotlib.backends.backend_qt5agg import (
       File
    "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qt5agg.py",
    line 7, in <module>
         from .backend_qtagg import (    # noqa: F401, E402 # pylint:
    disable=W0611
       File
    "/usr/lib/python3/dist-packages/matplotlib/backends/backend_qtagg.py",
    line 9, in <module>
         from .qt_compat import QT_API, _enum, _setDevicePixelRatio
       File
    "/usr/lib/python3/dist-packages/matplotlib/backends/qt_compat.py",
    line 137, in <module>
         raise ImportError(
    ImportError: Failed to import any of the following Qt binding
    modules: PyQt6, PySide6, PyQt5, PySide2

    the error persists even after installing python3-pyside2.*
    python3-pyqt5.* python3-pyqt6.*

*genx*: install and works OK (3.6) on both bookworm and bullseye


Cheers, Emmanuel.

-- 
signature
/ ___|__/\_| |   | ____|_ _| |      FARHI Emmanuel
\___ \\ | |   |  _|  | || |      Div Exp/Data Reduction and Analysis Team
  ___) /_  _| |___| |___ | || |___   Tel : +33 (1) 69 35 96 04 
<callto:+33%20%281%29%2069%2035%2096%2004>
|____/  \/ |_____|_____|___|_____|  Saint-Aubin BP 48 - 91192 GIF/YVETTE 
CEDEX
SYNCHROTRON http://www.synchrotron-soleil.fr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-pan-maintainers/attachments/20230809/d9f4cf79/attachment-0001.htm>


More information about the Debian-pan-maintainers mailing list