Bug 2345531 - python-klusta fails to build with Python 3.14: help2man: can't get `--help' info from /builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/bin/klusta
Summary: python-klusta fails to build with Python 3.14: help2man: can't get `--help' i...
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: python-klusta
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ankur Sinha (FranciscoD)
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2345536
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2025-02-13 11:51 UTC by Karolina Surma
Modified: 2025-03-14 12:55 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-03-14 12:55:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2025-02-13 11:51:17 UTC
python-klusta fails to build with Python 3.14.05.

+ help2man --no-info '--name=Spikesort a dataset' --version-string=3.0.16 --output=/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/share/man/man1/klusta.1 /builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/bin/klusta
help2man: can't get `--help' info from /builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/bin/klusta

https://docs.python.org/3.14/whatsnew/3.14.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.14/fedora-rawhide-x86_64/08651033-python-klusta/

For all our attempts to build python-klusta with Python 3.14, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/package/python-klusta/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.14:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/

Let us know here if you have any questions.

Python 3.14 is planned to be included in Fedora 43.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Ben Beasley 2025-02-13 21:00:43 UTC
The root cause is h5py failing to import, bug 2345536.

# PYTHONPATH=/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/ /builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/bin/klusta --help
Traceback (most recent call last):
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/bin/klusta", line 5, in <module>
    from klusta.launch import main
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/klusta/launch.py", line 18, in <module>
    from .traces import SpikeDetekt
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/klusta/traces/__init__.py", line 9, in <module>
    from .spikedetekt import SpikeDetekt
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/klusta/traces/spikedetekt.py", line 21, in <module>
    from ..kwik.mea import (_channels_per_group,
                            _probe_adjacency_list,
                            )
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/klusta/kwik/__init__.py", line 6, in <module>
    from .creator import KwikCreator, create_kwik
  File "/builddir/build/BUILD/python-klusta-3.0.16-build/BUILDROOT/usr/lib/python3.14/site-packages/klusta/kwik/creator.py", line 14, in <module>
    from h5py import Dataset
  File "/usr/lib64/python3.14/site-packages/h5py/__init__.py", line 45, in <module>
    from ._conv import register_converters as _register_converters, \
                       unregister_converters as _unregister_converters
  File "h5py/_conv.pyx", line 1, in init h5py._conv
  File "h5py/h5r.pyx", line 1, in init h5py.h5r
  File "h5py/h5p.pyx", line 1, in init h5py.h5p
  File "h5py/h5t.pyx", line 289, in init h5py.h5t
  File "h5py/h5t.pyx", line 281, in h5py.h5t._get_available_ftypes
ValueError: chr() arg not in range(0x110000)

Comment 2 Ben Beasley 2025-03-14 12:55:23 UTC
I see a successful build in https://copr.fedorainfracloud.org/coprs/g/python/python3.14/build/8736650/, so I guess the h5py issue must have been resolved.


Note You need to log in before you can comment on or make changes to this bug.