Bug 421817 - digiKam fails to compile with Qt 5.15
Summary: digiKam fails to compile with Qt 5.15
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Portability-Compilation (show other bugs)
Version: 7.0.0
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-20 10:53 UTC by Christoph Feck
Modified: 2022-01-23 04:52 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 7.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christoph Feck 2020-05-20 10:53:34 UTC
OBSERVED RESULT

core/libs/dimg/filters/levels/histogrampainter.cpp:218:22: error: aggregate 'QPainterPath curvePath' has incomplete type and cannot be defined

SUGGESTED FIX

Add #include <QPainterPath> in histogrampainter.cpp
Comment 1 caulier.gilles 2020-05-20 11:06:28 UTC
Git commit 9ef1670e7ea0852cdfb694dd4d839977305bd4a2 by Gilles Caulier.
Committed on 20/05/2020 at 11:05.
Pushed by cgilles into branch 'master'.

fix broken compilation with Qt 5.15

M  +1    -0    core/libs/dimg/filters/levels/histogrampainter.cpp

https://invent.kde.org/graphics/digikam/commit/9ef1670e7ea0852cdfb694dd4d839977305bd4a2
Comment 2 caulier.gilles 2020-05-20 11:07:38 UTC
If there is more patch ti apply, let's me here.

I don't have yet a Qt 5.15 installed on a computer to port the code...

Gilles
Comment 3 Christoph Feck 2020-05-20 14:43:25 UTC
Thanks, there are indeed more occurrences. I will check if I can trick the openSUSE build service to compile with "make -k" to catch all errors.
Comment 4 Christoph Feck 2020-05-20 16:14:43 UTC
Next:

core/libs/dimg/filters/curves/curveswidget.cpp:234:22: error: aggregate 'QPainterPath curvePath' has incomplete type and cannot be defined

Since dimg couldn't be built, the build service wasn't able to continue building, so there might be more errors.
Comment 5 caulier.gilles 2020-05-20 18:57:34 UTC
Git commit f1c25adea778aca558eb38669249ab73d73c8798 by Gilles Caulier.
Committed on 20/05/2020 at 18:56.
Pushed by cgilles into branch 'master'.

fix Qt 5.15 build

M  +1    -0    core/libs/dimg/filters/curves/curveswidget.cpp

https://invent.kde.org/graphics/digikam/commit/f1c25adea778aca558eb38669249ab73d73c8798
Comment 6 Christoph Feck 2020-05-20 20:37:22 UTC
Next:

core/dplugins/generic/view/presentation/opengl/presentationgl.cpp needs <QPainterPath> and <QPainterPathStroker>

We are getting closer :) Sorry for being too lazy to compile locally.
Comment 7 Maik Qualmann 2020-05-20 20:48:24 UTC
Git commit f2bd9b4e7cfa57c3980ccc6d83c525cd0f6fad51 by Maik Qualmann.
Committed on 20/05/2020 at 20:46.
Pushed by mqualmann into branch 'master'.

fix Qt 5.15 build #2

M  +2    -0    core/dplugins/generic/view/presentation/opengl/presentationgl.cpp

https://invent.kde.org/graphics/digikam/commit/f2bd9b4e7cfa57c3980ccc6d83c525cd0f6fad51
Comment 8 Christoph Feck 2020-05-20 22:51:55 UTC
Thanks, it's green now in my OBS home repository, but it is build without many optional dependencies (e.g. marble, akonadi, etc.).

I will check the log of the official builds (with more dependencies) tomorrow when the daily rebuild is triggered. I think they currently only include the first fix.

https://build.opensuse.org/package/live_build_log/KDE:Unstable:Extra/digikam/KDE_Unstable_Frameworks_openSUSE_Factory/x86_64
Comment 9 Christoph Feck 2020-05-21 19:58:28 UTC
Build succeeded (see link above).
Comment 10 caulier.gilles 2020-05-22 04:18:41 UTC
Perfect. Thanks

Gilles Caulier
Comment 11 Christoph Feck 2020-05-29 12:29:47 UTC
Meanwhile, Qt 5.15.0 version was released, and I spotted one more include cleanup change compared to Qt 5.15.0-RC2:

core/dplugins/generic/webservices/vkontakte/backend/vkontakte_authenticationdialog.cpp:105:84: error: invalid use of incomplete type 'class QNetworkCookieJar'

(or that's new code in digikam?)
Comment 12 Christoph Feck 2020-05-29 12:32:53 UTC
Checking the source, I should clarify that I am building against QtWebKit instead of QtWebEngine.
Comment 13 caulier.gilles 2020-05-29 12:43:21 UTC
Yes, it's new code. Fixed :

https://invent.kde.org/graphics/digikam/commit/cdff7d5a759399695fb024883d08758e98e90acf

Gilles
Comment 14 Christoph Feck 2020-05-29 15:37:25 UTC
Merci, it's green again.