Discussion:
[KPhotoAlbum] [KPhotoAlbum 5.0.1] Compilation error without libkexiv2
Bruno Pagani
2016-11-06 18:01:50 UTC
Permalink
Hi,

While trying to determine the required dependencies (which, on
ArchLinux, happen to be KF5 variants of the old KDE4 libs used + exiv2,
although all are optional, and libkexiv2 as a build-time dependency, but
not runtime apparently), I’ve stumbled upon this when trying to build
without libkexiv2 although this library only appears under RECOMMENDED
packages and not REQUIRED ones:


/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:
In member function 'void HTMLGenerator::HTMLDialog::populateThemesCombo()':
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:529:11:
error: invalid use of incomplete type 'class QDebug'
Debug() << "Theme directories:"<<dirs;
^
In file included from /usr/include/qt/QtCore/qglobal.h:1141:0,
from /usr/include/qt/QtCore/qnamespace.h:43,
from /usr/include/qt/QtCore/qobjectdefs.h:48,
from /usr/include/qt/QtCore/qobject.h:46,
from /usr/include/qt/QtCore/QObject:1,
from /usr/include/KF5/KCompletion/kcompletion.h:25,
from /usr/include/KF5/KCompletion/kcombobox.h:25,
from /usr/include/KF5/KCompletion/KComboBox:1,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.h:22,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:19:
/usr/include/qt/QtCore/qlogging.h:57:7: note: forward declaration of
'class QDebug'
class QDebug;
^~~~~~
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:532:15:
error: invalid use of incomplete type 'class QDebug'
Debug() << "Searching themes in:"<<dir;
^
In file included from /usr/include/qt/QtCore/qglobal.h:1141:0,
from /usr/include/qt/QtCore/qnamespace.h:43,
from /usr/include/qt/QtCore/qobjectdefs.h:48,
from /usr/include/qt/QtCore/qobject.h:46,
from /usr/include/qt/QtCore/QObject:1,
from /usr/include/KF5/KCompletion/kcompletion.h:25,
from /usr/include/KF5/KCompletion/kcombobox.h:25,
from /usr/include/KF5/KCompletion/KComboBox:1,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.h:22,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:19:
/usr/include/qt/QtCore/qlogging.h:57:7: note: forward declaration of
'class QDebug'
class QDebug;
^~~~~~
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:535:19:
error: invalid use of incomplete type 'class QDebug'
Debug() << " *" << *it;
^
In file included from /usr/include/qt/QtCore/qglobal.h:1141:0,
from /usr/include/qt/QtCore/qnamespace.h:43,
from /usr/include/qt/QtCore/qobjectdefs.h:48,
from /usr/include/qt/QtCore/qobject.h:46,
from /usr/include/qt/QtCore/QObject:1,
from /usr/include/KF5/KCompletion/kcompletion.h:25,
from /usr/include/KF5/KCompletion/kcombobox.h:25,
from /usr/include/KF5/KCompletion/KComboBox:1,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.h:22,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:19:
/usr/include/qt/QtCore/qlogging.h:57:7: note: forward declaration of
'class QDebug'
class QDebug;
^~~~~~
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:
In member function 'int HTMLGenerator::HTMLDialog::exec(const
DB::FileNameList&)':
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:616:18:
error: invalid use of incomplete type 'class QDebug'
qWarning() << "HTMLDialog called without images for export";
^
In file included from /usr/include/qt/QtCore/qglobal.h:1141:0,
from /usr/include/qt/QtCore/qnamespace.h:43,
from /usr/include/qt/QtCore/qobjectdefs.h:48,
from /usr/include/qt/QtCore/qobject.h:46,
from /usr/include/qt/QtCore/QObject:1,
from /usr/include/KF5/KCompletion/kcompletion.h:25,
from /usr/include/KF5/KCompletion/kcombobox.h:25,
from /usr/include/KF5/KCompletion/KComboBox:1,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.h:22,
from
/build/kphotoalbum/src/kphotoalbum-5.0.1/HTMLGenerator/HTMLDialog.cpp:19:
/usr/include/qt/QtCore/qlogging.h:57:7: note: forward declaration of
'class QDebug'
class QDebug;
^~~~~~
make[2]: *** [CMakeFiles/kphotoalbum.dir/build.make:1527:
CMakeFiles/kphotoalbum.dir/HTMLGenerator/HTMLDialog.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1883: CMakeFiles/kphotoalbum.dir/all]
Error 2
make: *** [Makefile:128: all] Error 2


Note that I’m going to build it with libkexiv2 anyway, but thought I
would mention it here just in case.

Thanks for your awesome work on porting KPhotoAlbum BTW! :)

Bruno
Johannes Zarl-Zierl
2016-11-06 20:23:51 UTC
Permalink
Hi Bruno,
Post by Bruno Pagani
While trying to determine the required dependencies (which, on
ArchLinux, happen to be KF5 variants of the old KDE4 libs used + exiv2,
although all are optional, and libkexiv2 as a build-time dependency, but
not runtime apparently), I’ve stumbled upon this when trying to build
without libkexiv2 although this library only appears under RECOMMENDED
Thanks for the report! The issue has already been fixed in git master...

Cheers,
Johannes

Loading...