Bug 1799980 - root: FTBFS in Fedora rawhide/f32
Summary: root: FTBFS in Fedora rawhide/f32
Alias: None
Product: Fedora
Classification: Fedora
Component: root
Version: 32
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Mattias Ellert
QA Contact: Fedora Extras Quality Assurance
Depends On: 1800945
Blocks: ARMTracker GCC10
TreeView+ depends on / blocked
Reported: 2020-02-06 19:46 UTC by Fedora Release Engineering
Modified: 2020-03-23 20:24 UTC (History)
2 users (show)

Fixed In Version: root-6.18.04-6.fc33 root-6.18.04-6.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1811604 (view as bug list)
Last Closed: 2020-03-23 20:24:19 UTC
Type: ---

Attachments (Terms of Use)
build.log (32.00 KB, text/plain)
2020-02-06 19:46 UTC, Fedora Release Engineering
no flags Details
root.log (32.00 KB, text/plain)
2020-02-06 19:46 UTC, Fedora Release Engineering
no flags Details
state.log (966 bytes, text/plain)
2020-02-06 19:46 UTC, Fedora Release Engineering
no flags Details

Description Fedora Release Engineering 2020-02-06 19:46:29 UTC
root failed to build from source in Fedora rawhide/f32


For details on the mass rebuild see:

Please fix root at your earliest convenience and set the bug's status to
ASSIGNED when you start fixing it. If the bug remains in NEW state for 8 weeks,
root will be orphaned. Before branching of Fedora 33,
root will be retired, if it still fails to build.

For more details on the FTBFS policy, please visit:

Comment 1 Fedora Release Engineering 2020-02-06 19:46:32 UTC
Created attachment 1660613 [details]

file build.log too big, will only attach last 32768 bytes

Comment 2 Fedora Release Engineering 2020-02-06 19:46:34 UTC
Created attachment 1660614 [details]

file root.log too big, will only attach last 32768 bytes

Comment 3 Fedora Release Engineering 2020-02-06 19:46:36 UTC
Created attachment 1660615 [details]

Comment 4 Miro Hrončok 2020-02-06 23:58:08 UTC
root also fails to build with Python 3.9.0a3.

For the build logs, see:

For all our attempts to build root with Python 3.9, see:

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.9:

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
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 5 Ben Cotton 2020-02-11 16:35:29 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 32 development cycle.
Changing version to 32.

Comment 6 Mattias Ellert 2020-02-23 07:02:35 UTC
I have tried to fix this without being completely successful.

I added some patches.

* https://src.fedoraproject.org/rpms/root/blob/master/f/root-missing-include-string.patch

This one is trivial and unproblematic. This simply adds an "#include <string>", and the reason for it is clear:

See https://gcc.gnu.org/gcc-10/porting_to.html - and the subsection "Header dependency changes" under the "C++ language issues".

* https://src.fedoraproject.org/rpms/root/blob/master/f/root-clang-altivec-vector.patch

See also: bug #1796046

This issue is ppc64le specific, and related to altivec. The patch changes "vector" to "__vector" as the altivec keyword used, since with gcc 10 using "vector" triggers an "error: ISO C++ forbids declaration of 'type name' with no type" - which did not happen with earlier versions of gcc. It is unclear if this is an intended change in behaviour in gcc 10, or a regression.

* https://src.fedoraproject.org/rpms/root/blob/master/f/root-static-constexpr.patch

See also: #1800945

This might be related to the -fno-common default. However, the -fno-common change according to the porting page is a C language change, and this is a C++ source, and -fno-common should already have been the default for C++. So I am not entirely sure.

With gcc 10 the compilation started failing with a missing symbol for a static class member initialized in a header file. But the failure did not happen on x86_64 - only on the other architectures - which I find strange if the changed behaviour was intentional. Anyway - adding the missing symbol to the .cpp file makes the compilation work.

After having applied these patches the compilation works, except for 32 bit ARM, where the compilation fails because the rootcling_stage1 binary created earlier in the build segfaults when executed later in the build. I have not found a solution to this so I added ExcludeArch: %{arm} for Fedora 32+ to make the build work in koji.

Comment 7 Fedora Update System 2020-03-15 12:32:35 UTC
FEDORA-2020-d8c9104c8a has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-d8c9104c8a

Comment 8 Mattias Ellert 2020-03-15 13:20:43 UTC
Builds on 32-bit ARM again using gcc-10.0.1-0.9. ExcludeArch: %{arm} has been removed.

Comment 9 Fedora Update System 2020-03-16 14:13:13 UTC
root-6.18.04-6.fc32 has been pushed to the Fedora 32 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-d8c9104c8a

Comment 10 Fedora Update System 2020-03-23 20:24:19 UTC
FEDORA-2020-d8c9104c8a has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

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