Page MenuHome GnuPG

pinentry-0.9.0: wrong #include paths in .moc files
Closed, ResolvedPublic

Description

Hello,

I have downloaded the pinentry-0.9.0 tarball, and when I try to build
pinentry-qt4 it fails with some errors like these ones:

In file included from pinentryconfirm.cpp:52:0:
pinentryconfirm.moc:9:53: fatal error:
../../../s/pinentry/qt4/pinentryconfirm.h: No such file or directory
#include "../../../s/pinentry/qt4/pinentryconfirm.h"

In file included from qsecurelineedit.cpp:3602:0:
qsecurelineedit.moc:9:53: fatal error:
../../../s/pinentry/qt4/qsecurelineedit.h: No such file or directory
#include "../../../s/pinentry/qt4/qsecurelineedit.h"

In file included from pinentrydialog.cpp:347:0:
pinentrydialog.moc:9:52: fatal error:
../../../s/pinentry/qt4/pinentrydialog.h: No such file or directory
#include "../../../s/pinentry/qt4/pinentrydialog.h"

The problem is the .moc files under the pinentry-0.9.0/qt4/ directory
have an #include which is wrong:

pinentryconfirm.moc:9
#include "../../../s/pinentry/qt4/pinentryconfirm.h"

qsecurelineedit.moc:9
#include "../../../s/pinentry/qt4/qsecurelineedit.h"

pinentrydialog.moc:9
#include "../../../s/pinentry/qt4/pinentrydialog.h"

In previous pinentry versions these includes are just like these:

#include "pinentryconfirm.h"
#include "qsecurelineedit.h"
#include "pinentrydialog.h"

I have changed the new includes to look like the old ones, and then the
compilation works perfectly. So, could you please fix that and upload a
new pinentry-0.9.0 tarball with that fix included?

Thanks.

Details

Version
0.9.0

Event Timeline

vincent added projects: pinentry, Bug Report.
vincent added a subscriber: vincent.

Werner: I think the source tarball you distribute should be changed not to
include the .moc files as they depend on the qt version used when you generate
the tarballs.

MOC should be detected during configure (and otherwise pinentry-qt should be
disabled) and MOC should be used to generate the moc files. If this does not
work as expected this might have been caused by my limited Make and autotools
skills ;-)

I also ran into this problem with our (intevation's) debian packaging.

Just removing the .moc files worked as they were correctly generated
automatically (as they should be).

I'll commit a fix not to include them in the dist package anymore.

Should be fixed now.

The next version will no longer include the generated moc files.
It's not really a patch to backport (as you requested this in your mailing list).

In quilt you can just do something like:
quilt new remove-broken-moc-files.patch
quilt add qt4/*.moc
rm qt4/*.moc
quilt refresh

aheinecke claimed this task.