Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failures with Python 3.13 #15430

Open
1 task done
ellert opened this issue May 7, 2024 · 1 comment
Open
1 task done

Test failures with Python 3.13 #15430

ellert opened this issue May 7, 2024 · 1 comment
Assignees

Comments

@ellert
Copy link
Contributor

ellert commented May 7, 2024

Check duplicate issues.

  • Checked for duplicates

Description

Downstream bug report: https://bugzilla.redhat.com/show_bug.cgi?id=2278644

root fails to build with Python 3.13.0a6.
116 tests failed out of 1314, mostly with:

AttributeError: 'tuple' object attribute 'doc' is read-only
AttributeError: Failed to get attribute RooRealVar from ROOT

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

For all our attempts to build root with Python 3.13, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/root/

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.13:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/

Reproducer

Instructions for reproducing the build in a local mock is provided by the page linked from the downstream bug report:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/

ROOT version

6.30.06

Installation method

Package build on Fedora rawhide from source with additional Python 3.13 packages

Operating system

Fedora rawhide

Additional context

Python 3.13 is planned to be included in Fedora 41.

@ellert ellert added the bug label May 7, 2024
@guitargeek guitargeek self-assigned this May 7, 2024
@guitargeek
Copy link
Contributor

I don't know how these tuples end up there. But given that the release of 6.32 is in 20 day, and a lot of the PyROOT code was changed, I would prefer to defer the investigation of that issue until after the release. There will be no 6.30.06 patch release with an eventual fix that you could use before anyway. Is that okay for you?

If you want to make things compile, a temporary patch could be to add a check for tuple after this line:
https://github.com/root-project/root/blob/master/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_roofit/__init__.py#L207

            if isinstance(func_new, tuple):
                continue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants