diff --git a/root-Avoid-OverflowError-from-RDF-pythonization.patch b/root-Avoid-OverflowError-from-RDF-pythonization.patch new file mode 100644 index 0000000..7ac90a6 --- /dev/null +++ b/root-Avoid-OverflowError-from-RDF-pythonization.patch @@ -0,0 +1,41 @@ +From c3a9293a08fecb288cdd09b399c9c2808923e617 Mon Sep 17 00:00:00 2001 +From: Mattias Ellert +Date: Wed, 27 Aug 2025 17:09:12 +0200 +Subject: [PATCH] Avoid OverflowError from RDF pythonization + +Fixes test failures on 32 bit intel ix86. + +The following tests FAILED: + 62 - pyunittests-bindings-pyroot-pythonizations-pyroot-pyz-rdataframe-makenumpy (Failed) python python_runtime_deps + 1257 - tutorial-analysis-dataframe-df032_RDFFromNumpy-py (Failed) python_runtime_deps tutorial + +1259/1470 Test #1257: tutorial-analysis-dataframe-df032_RDFFromNumpy-py .............................................***Failed 1.14 sec +Traceback (most recent call last): + File ".../tutorials/analysis/dataframe/df032_RDFFromNumpy.py", line 23, in + df = ROOT.RDF.FromNumpy({'x': x, 'y': y}) + File ".../redhat-linux-build/lib/ROOT/_facade.py", line 349, in MakeNumpyDataFrameCopy + return _MakeNumpyDataFrame(np_dict) + File ".../redhat-linux-build/lib/ROOT/_pythonization/_rdataframe.py", line 601, in _MakeNumpyDataFrame + return ROOT.Internal.RDF.MakeRVecDataFrame(ROOT.__ROOT_Internal.MakePyDeleter(key), *args) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^ +OverflowError: Python int too large to convert to C long +--- + .../pythonizations/python/ROOT/_pythonization/_rdataframe.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_rdataframe.py b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_rdataframe.py +index d5cade59805..f9bb2771a73 100644 +--- a/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_rdataframe.py ++++ b/bindings/pyroot/pythonizations/python/ROOT/_pythonization/_rdataframe.py +@@ -584,7 +584,7 @@ def _MakeNumpyDataFrame(np_dict): + + namespace __ROOT_Internal { + +- inline std::function MakePyDeleter(std::intptr_t ptr) { ++ inline std::function MakePyDeleter(std::uintptr_t ptr) { + PyObject *obj = reinterpret_cast(ptr); + Py_INCREF(obj); + return [obj](){ Py_DECREF(obj); }; +-- +2.51.0 + diff --git a/root.spec b/root.spec index 1bf54c5..84efcc3 100644 --- a/root.spec +++ b/root.spec @@ -37,9 +37,9 @@ %global __provides_exclude_from ^%{python3_sitearch}/lib.*\\.so$ Name: root -Version: 6.36.02 +Version: 6.36.04 %global libversion %(cut -d. -f 1-2 <<< %{version}) -Release: 7%{?dist} +Release: 1%{?dist} Summary: Numerical data analysis framework License: LGPL-2.1-or-later @@ -101,6 +101,8 @@ Patch11: %{name}-Python-Update-reference-refcount-values-for-Python-3.patch Patch12: %{name}-Python-Update-reference-refcount-values-for-Python-3x.patch # https://github.com/root-project/root/pull/19689 Patch13: %{name}-df-Support-libarrow-21.patch +# https://github.com/root-project/root/pull/19764 +Patch14: %{name}-Avoid-OverflowError-from-RDF-pythonization.patch BuildRequires: gcc-c++ BuildRequires: gcc-gfortran @@ -1966,6 +1968,7 @@ This package contains utility functions for ntuples. %patch -P11 -p1 %patch -P12 -p1 %patch -P13 -p1 +%patch -P14 -p1 # Remove bundled sources in order to be sure they are not used # * afterimage @@ -2545,12 +2548,6 @@ gtest-tree-ntuple-ntuple-evolution" excluded="${excluded}|\ tutorial-roofit-roostats-StandardBayesianMCMCDemo-py" %endif - -%if %{?rhel}%{!?rhel:0} >= 10 -excluded="${excluded}|\ -test-stressgraphics\$\$|\ -test-stressgraphics-interpreted" -%endif %endif %ifarch s390x @@ -3578,6 +3575,9 @@ fi %endif %changelog +* Mon Aug 25 2025 Mattias Ellert - 6.36.04-1 +- Update to 6.36.04 + * Wed Aug 20 2025 Jerry James - 6.36.02-7 - Rebuild for tbb 2022.2.0