frankosterfeld / qtkeychain

Platform-independent Qt API for storing passwords securely.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

0.13.2 fails building with Qt 6.5.0

KitsuneRal opened this issue · comments

It seems that moc is tripping over a line in kwallet_interface.h with the following message (see https://github.com/quotient-im/Quaternion/actions/runs/4526307013/jobs/7971384083 for the full log):

FAILED: moc_kwallet_interface.cpp /home/runner/work/Quaternion/Quaternion/qtkeychain/build/moc_kwallet_interface.cpp 
cd /home/runner/work/Quaternion/Quaternion/qtkeychain/build && /home/runner/work/Quaternion/Qt/6.5.0/gcc_64/./libexec/moc @/home/runner/work/Quaternion/Quaternion/qtkeychain/build/moc_kwallet_interface.cpp_parameters
/home/runner/work/Quaternion/Quaternion/qtkeychain/build/kwallet_interface.h:196:1: error: Not a signal or slot declaration

Building the same code with Qt 6.4 runs fine

I can't reproduce this with the official Qt 6.5.0/gcc_64 from the Qt online installer, on Ubuntu 22.04, gcc 12.1 (Ubuntu 12.1.0). Can you paste the generated code around kwallet_interface.h:196 (-5/+5 lines or so)?

Is this also an issue with Qt 6.5.1?

yes: https://bugs.gentoo.org/908384 - this has kwallet_interface.h attached.

fwiw though, I can't reproduce it with 6.5.1 either-

same with self compiled Qt 6.6 on arch with main and 0.14 branches

Seems like moc stumbles over the Q_NOREPLY (qtdbus-specific macro) in the method signature, at least this is the first usage of that (out of two) in the file. I'm not sure though why it fails there, my moc (6.5.1 gcc_64 from official installer) seems fine with it. Maybe I try self-compiled 6.5/6.6 later.

This suspiciously looks like https://code.qt.io/cgit/qt/qtbase.git/commit/?h=6.5.1&id=50d4e338cf11e83e9d8bb1e0254da60cc528a666 missing, that problem hit several KF modules as well. If it's that, it's not fixable/workaroundable here.

Fixed upstream with next releases.
https://bugreports.qt.io/browse/QTBUG-111330

Latest 0.14.3 with Qt 6.7.2 is OK.
I think that this ticket can be closed.

Thanks for confirming.