Bug 2280366

Summary: C++20 -Werror=template-id-cdtor in proxguiqt.cpp
Product: [Fedora] Fedora Reporter: Collin Campbell <ccollin.earl>
Component: qt5-qtbaseAssignee: Than Ngo <than>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 40CC: jgrulich, kde-sig, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-05-15 07:46:40 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Collin Campbell 2024-05-14 15:40:42 UTC
Description of problem:
When trying to compile proxmark3 (https://github.com/RfidResearchGroup/proxmark3) using the qt5-qtbase-devel library, I get the following error that kills the build:

/usr/include/qt5/QtCore/qfutureinterface.h:284:37: error: template-id not allowed for constructor in C++20 [-Werror=template-id-cdtor]
  284 |     explicit QFutureInterface<void>(State initialState = NoState)
      |                                     ^~~~~
/usr/include/qt5/QtCore/qfutureinterface.h:284:37: note: remove the ‘< >’

I opened a bug report with the developer, and they pointed me here indicating it was an issue with how qt5-qtbase-devel was interacting with the C++20 compiler.

Version-Release number of selected component (if applicable):
qt5-qtbase-devel-5.15.13-1.fc40.x86_64

How reproducible:
It occurs every single time.

Steps to Reproduce:
1. Download the git repo on Fedora 40
2. Install required dependencies
3. run make -j all
4. Build fails

Actual results:
Build fails

Expected results:
Build to succeed

Additional info:
If I follow the suggestion as given by the compiler and edit line 248 of /usr/include/qt5/QtCore/qfutureinterface.h, then the build succeeds with no issues. Naturally, I don't think editing a library file like this should be done as it could cause issues in other library uses on the system.

Comment 1 Jan Grulich 2024-05-15 07:46:40 UTC
Updated qt5-qtbase package with fix for this issue is now heading to stable repositories. This issue can be closed.