The package rpms/root.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/root.git/commit/?id=baedd3ac92b83....
Change:
+%ifarch aarch64
Thanks.
Full change:
============
commit baedd3ac92b83e79769aa3f8bd50c9330a66f7b1
Author: Mattias Ellert <mattias.ellert(a)physics.uu.se>
Date: Sat Feb 22 14:31:21 2020 +0100
Fixes and workarounds for gcc 10
ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
diff --git a/root-clang-altivec-vector.patch b/root-clang-altivec-vector.patch
new file mode 100644
index 0000000..23202bd
--- /dev/null
+++ b/root-clang-altivec-vector.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp
+--- root-6.18.04.orig/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2019-09-11
15:36:49.000000000 +0200
++++ root-6.18.04/interpreter/llvm/src/tools/clang/lib/Lex/Lexer.cpp 2020-02-06
14:36:14.580497452 +0100
+@@ -2373,7 +2373,7 @@
+ '/', '/', '/', '/', '/', '/',
'/', '/'
+ };
+ while (CurPtr+16 <= BufferEnd &&
+- !vec_any_eq(*(const vector unsigned char*)CurPtr, Slashes))
++ !vec_any_eq(*(const __vector unsigned char*)CurPtr, Slashes))
+ CurPtr += 16;
+ #else
+ // Scan for '/' quickly. Many block comments are very large.
diff --git a/root-missing-include-string.patch b/root-missing-include-string.patch
new file mode 100644
index 0000000..f870e14
--- /dev/null
+++ b/root-missing-include-string.patch
@@ -0,0 +1,11 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2019-09-11 15:36:49.000000000
+0200
++++ root-6.18.04/graf2d/gpadv7/v7/inc/ROOT/RColor.hxx 2020-01-23 11:27:58.637463837
+0100
+@@ -17,6 +17,7 @@
+ #define ROOT7_RColor
+
+ #include <array>
++#include <string>
+ #include <vector>
+
+ namespace ROOT {
diff --git a/root-static-constexpr.patch b/root-static-constexpr.patch
new file mode 100644
index 0000000..c04ba6f
--- /dev/null
+++ b/root-static-constexpr.patch
@@ -0,0 +1,12 @@
+diff -ur root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx
+--- root-6.18.04.orig/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2019-09-11 15:36:49.000000000
+0200
++++ root-6.18.04/graf2d/gpadv7/v7/src/RDrawingAttr.cxx 2020-02-15 21:16:58.819735413
+0100
+@@ -26,6 +26,8 @@
+ {
+ }
+
++constexpr const ROOT::Experimental::RDrawingAttrBase::FromOption_t
ROOT::Experimental::RDrawingAttrBase::FromOption;
++
+ ROOT::Experimental::RDrawingAttrBase::RDrawingAttrBase(FromOption_t, const Name
&name, RDrawingOptsBase &opts) :
+ fPath{name.fStr}, fHolder(opts.GetHolder())
+ {
diff --git a/root.spec b/root.spec
index 32f8148..21f5387 100644
--- a/root.spec
+++ b/root.spec
@@ -51,7 +51,7 @@
Name: root
Version: 6.18.04
%global libversion %(cut -d. -f 1-2 <<< %{version})
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Numerical data analysis framework
License: LGPLv2+
@@ -121,11 +121,22 @@ Patch17: %{name}-stress-aarch64-ppc64le.patch
# Fix GDB pretty printers install name and location
#
https://github.com/root-project/root/pull/4024
Patch18: %{name}-pretty-printers.patch
+# Missing include - fails with gcc 10
+Patch19: %{name}-missing-include-string.patch
+# Fix ppc64le build with gcc 10
+Patch20: %{name}-clang-altivec-vector.patch
+# Missing symbol - with gcc 10
+Patch21: %{name}-static-constexpr.patch
# s390x suffers from endian issues resulting in failing tests
# and broken documentation generation
#
https://sft.its.cern.ch/jira/browse/ROOT-8703
ExcludeArch: s390x
+%if %{?fedora}%{!?fedora:0} >= 32
+# The rootcling_stage1 binary segfaults on 32-bit arm when
+# compiled with gcc 10 - exclude the architecture for now
+ExcludeArch: %{arm}
+%endif
%if %{?fedora}%{!?fedora:0} || %{?rhel}%{!?rhel:0} >= 8
BuildRequires: cmake >= 3.4.3
@@ -1744,6 +1755,9 @@ This package contains an ntuple extension for ROOT 7.
%patch16 -p1
%patch17 -p1
%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
# Remove bundled sources in order to be sure they are not used
# * afterimage
@@ -2586,6 +2600,28 @@
excluded="${excluded}|tutorial-roofit-rf608_fitresultaspdf-py"
%endif
%endif
+%if %{?fedora}%{!?fedora:0} >= 32
+# New failures with Fedora 32+ (gcc 10)
+excluded="${excluded}|tutorial-v7-markerStyle.cxx"
+%ifarch %{ix86}
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+gtest-tree-dataframe-test-dataframe-interface"
+%endif
+%ifarch ppc64le
+excluded="${excluded}|\
+TMVA-DNN-CNN-Reshape-CPU|\
+tutorial-v7-lineStyle.cxx|\
+tutorial-v7-lineWidth.cxx"
+%endif
+%endif
+
+%if %{?fedora}%{!?fedora:0} >= 33
+%ifarch aarch64
+excluded="${excluded}|tutorial-tmva-TMVARegression"
+%endif
+%endif
+
make test ARGS="%{?_smp_mflags} --output-on-failure -E
\"${excluded}\""
popd
@@ -3642,6 +3678,10 @@ fi
%endif
%changelog
+* Sat Feb 22 2020 Mattias Ellert <mattias.ellert(a)physics.uu.se> - 6.18.04-5
+- Fixes and workarounds for gcc 10
+- ExcludeArch for 32 bit ARM because rootcling_stage1 segfaults
+
* Thu Jan 30 2020 Fedora Release Engineering <releng(a)fedoraproject.org> -
6.18.04-4
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild