-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Build error: C++20 -Werror=template-id-cdtor in proxguiqt.cpp #2382
Comments
same error on Arch, try to checkout the latest release tag then compile as usual. |
This sounds more of a QT5 change than anything that we do |
Bumped into this issue as well. On
On main the error is:
So there is a difference in wording (error vs. warning). Not sure were it is coming from. Arch recently updated its gcc13 package. Maybe this changed something. Or like @iceman1001 said, something with Qt. |
funny thing, the .moc.cpp is created by QT... So its nothing we have control over more than it might be needed to regenerate on your systems? |
@iceman1001 I'll look into reporting this bug to the QT devs instead. Out of curiosity, is there a way to retarget the build to use QT6? |
you will need to modify the Makefiles / Cmakefile to use QT6 instead. |
Should I close this issue since it's a Qt problem or leave it open? |
keep it open until you got some more answers. |
For now you can use the following patch in order to just make build working and suppress the error:
|
I sent a bug report to the QT5 devs, who confirmed that the bug had been patched and the latest update to the upstream repositories should now resolve the issue. |
If someone needs to patch their own Qt5 install, the line to change is https://src.fedoraproject.org/rpms/qt5-qtbase/blob/664f24855f26ccaee2501b26a50108b054bf19e2/f/qtbase-qfutureinterface-fix-build-with-gcc14.patch class QFutureInterface<void> : public QFutureInterfaceBase
{
public:
- explicit QFutureInterface<void>(State initialState = NoState)
+ explicit QFutureInterface(State initialState = NoState)
: QFutureInterfaceBase(initialState)
{ } E.g. on Debian : |
I simply replaced " |
Interesting find, |
You might also want to see this: https://aur.archlinux.org/packages/proxmark3-iceman-git Some hand-hacking was involved insofar as compilation by an AUR helper was involved. |
Reminder, SKIPQT means you will not get the You also mentioned:
Where did you run into this? |
I know. I sat and thought about it, and for what I'm using proxmark3 for right now that's fine. I ran into that with the PKGBUILD file in the AUR. It doesn't apply here, I think. I had the same questions you did about the projectfile and QT definition, which is why I went off in a different direction (hopefully not a rabbithole). |
We have the following solutions:
|
I'll give them a try tonight, and if they work on my end I'll let the AUR package maintainer know. |
FTR on Debian, the bug has been fixed in qtbase5-dev version 5.15.13+dfsg-4. |
Describe the bug
Build failure caused by C++20 compiler change: template-id not allowed for constructor in C++20
To Reproduce
Steps to reproduce the behavior:
make -j all
Expected behavior
The build should succeed.
Desktop (please complete the following information):
Additional context
The error is resolved and the build can successfully complete if the change suggested by the compiler is made and
<void>
is removed from Line 284 of /usr/include/qt5/QtCore/qfutureinterface.hThis leads me to believe this isn't a problem strictly with Proxmark3 but with the QT development library. But I'm posting here to be sure.
Full build log is as follows:
Build Log
The text was updated successfully, but these errors were encountered: