Page MenuHome GnuPG

pinentry qt4 fails to compile in pinentry 1.2.0
Closed, ResolvedPublic

Description

According to configure.ac it should be still possible to compile pinentry against qt4 however it seems to fail after changes made in 1.2.0:

In file included from ../.././qt/pinentry_debug.cpp:25:
../.././qt/pinentry_debug.h:24:10: fatal error: QLoggingCategory: No such file or directory
   24 | #include <QLoggingCategory>
      |          ^~~~~~~~~~~~~~~~~~
../.././qt/capslock.cpp:28:10: fatal error: QGuiApplication: No such file or directory
   28 | #include <QGuiApplication>
      |          ^~~~~~~~~~~~~~~~~
../.././qt/capslock_unix.cpp:35:10: fatal error: QGuiApplication: No such file or directory
   35 | #include <QGuiApplication>
      |          ^~~~~~~~~~~~~~~~~
../.././qt/pinlineedit.cpp:25:10: fatal error: QGuiApplication: No such file or directory
   25 | #include <QGuiApplication>
      |          ^~~~~~~~~~~~~~~~~
../.././qt/pinentrydialog.cpp:54:10: fatal error: QRegularExpression: No such file or directory
   54 | #include <QRegularExpression>
      |          ^~~~~~~~~~~~~~~~~~~~

Could you please confirm whether Qt4 is still supported?

Details

Version
1.2.0

Event Timeline

jpalus created this object in space S1 Public.

Qt4 is no longer supported. Please use the previous released version plus commit rP2859eddfb0c9: qt: Fix build against Qt4 to build pinentry for Qt4. For everything else use 1.2.0.

All new features only work with Qt5 and would have to be commented out to make it compile with Qt4. We should have removed Qt4 support from configure.ac.

Which distribution are you using?

Package maintainer from PLD here. We still ship Qt4 and therefore provide pinentry qt4 for as long as it's supported. I have no problem with dropping it if it's no longer support, but last release still supported Qt4, there's no mention of dropping such support in NEWS and both code as well as configure.ac appear to still carry Qt4 support which is a bit confusing.

ikloecker triaged this task as Low priority.

Should be fixed. A copy of an older version of pinentry's source code that can be built with Q4 is now included and will result in a pinentry-qt4 executable. Note that while we won't break this pinentry intentionally we won't maintain it either.