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

Fixes for compiling with GCC 15 (Fedora 42) #17455

Merged
merged 1 commit into from
Jan 21, 2025

Conversation

ellert
Copy link
Contributor

@ellert ellert commented Jan 19, 2025

This Pull request:

These changes make it possible to compile root 6.34.02 using gcc 15 on Fedora 42.

Also the following commits need to be backported from master:

commit 2884f67
commit cfc9221

... and the following commits from LLVM:

commit llvm/llvm-project@7e44305
commit llvm/llvm-project@7abf440 (see PR llvm/llvm-project#123320)

The function fchtak() is implemented earlier in the same file. There
is therefore no need to declare the function later in the same file.
The later declarations redefines the function with an empty parameter
list, which conflicts with the original definition.

The function stat() is defined by including <sys/stat.h>. The
following daclaration redefines the function with an empty parameter
list, which conflicts with the original definition.
Copy link

github-actions bot commented Jan 19, 2025

Test Results

    18 files      18 suites   3d 21h 22m 51s ⏱️
 2 685 tests  2 662 ✅ 23 💤 0 ❌
46 606 runs  46 606 ✅  0 💤 0 ❌

Results for commit 3357643.

♻️ This comment has been updated with latest results.

@hageboeck
Copy link
Member

Hi @ellert,

thanks for the initiative!

We have a few things to deal with:

  1. Would you mind running git-clang-format on the "conflicting functions" commit?
  2. Regarding the LLVM includes, we were already discussing in ROOT doesn't compile with gcc-15 #17444 and Add missing include to X86MCTargetDesc.h llvm/llvm-project#123320, but the situation is a bit complicated:
  • In order not to deviate from llvm (which allows for much faster future upgrades), we are not simply committing to the llvm tree.
  • Instead, we try to upstream patches to llvm, and backport afterwards. This will make them disappear during a rebase. (This is why there is a CI failure.)
  • For this reason, we have to wait for Add missing include to X86MCTargetDesc.h llvm/llvm-project#123320 and backport.

Number 2 is a slow process, but we are working on it. So if you want to get out of this in a timely manner, I would propose to retain and clang-format the "conflicting functions" commit, and remove the LLVM commit. This way, we can merge this PR quickly, and we'll take care of the llvm business.

Let us know what you think.

@hageboeck
Copy link
Member

@devajithvs FYI

@hageboeck hageboeck linked an issue Jan 20, 2025 that may be closed by this pull request
4 tasks
@hageboeck hageboeck removed a link to an issue Jan 20, 2025
4 tasks
@hageboeck hageboeck mentioned this pull request Jan 20, 2025
4 tasks
@ellert ellert changed the title Fixes for compiling with GCC 15 (Fedora 43) Fixes for compiling with GCC 15 (Fedora 42) Jan 20, 2025
@ellert
Copy link
Contributor Author

ellert commented Jan 20, 2025

@hageboeck

I ran git-clang-format as reqested.
I dropped the commit with the LLVM changes from the PR and edited to description to include references to the LLVM commit and pending PR that provides the same changes (adding #include <cstdint> to two LLVM files).

Copy link
Member

@hageboeck hageboeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thank you!

The LLVM commits are on their way, and we'll take care of putting all of these changes into the next release.
I'm just waiting for one last CI job before merging.

@hageboeck hageboeck merged commit d28f5ac into root-project:master Jan 21, 2025
21 checks passed
@ellert ellert deleted the gcc15 branch January 22, 2025 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants