Bug 440313

Summary: digiKam 7.3.0 FTBFS with Qt 5.9.5 [patch]
Product: [Applications] digikam Reporter: Rob Savoury <savoury>
Component: Database-EngineAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version First Reported In: 7.3.0   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 7.4.0
Sentry Crash Report:
Attachments: Patch to fix FTBFS

Description Rob Savoury 2021-07-26 23:41:05 UTC
Created attachment 140347 [details]
Patch to fix FTBFS

SUMMARY

digiKam 7.3.0 FTBFS with Qt 5.9.5 due introducing use of the QScopedPointer get function (added in Qt 5.11).

STEPS TO REPRODUCE
1. Download digiKam 7.3.0 source and extract.
2. Attempt building source using pbuilder in a clean chroot with all appropriate build dependencies including Qt 5.9.5 (and KDE 5.44.0).
3. Build fails with errors as described below.

OBSERVED RESULT

The build fails with repeated errors relative a QScopedPointer function:

 "no member named 'get'"

These errors are due use of the get function in three files (see below).

EXPECTED RESULT

That the build succeeds with Qt 5.9.5 as Qt 5.9 is listed as the minimum Qt build dependency for digiKam.

SOFTWARE/OS VERSIONS
Windows: n/a
macOS: n/a
Linux/KDE Plasma: Ubuntu 18.04 / KDE 5.44
(available in About System)
KDE Plasma Version: 5.44
KDE Frameworks Version: 5.44
Qt Version: 5.9.5

ADDITIONAL INFORMATION

With digiKam 7.3.0 three source files are now using the QScopedPointer get function found only in Qt 5.11 and newer. Those files are as follows:

 core/libs/database/dbjobs/dbjobsthread.cpp
 core/libs/database/haar/haariface_p.cpp
 core/libs/dngwriter/dngwriter_convert.cpp

Yet Mainpage.dox still lists Qt 5.9 as a sufficient build dependency. Please change use of QScopedPointer get function to data function, which is identical according to official documentation, so that the build can still be successful without patching on Qt 5.9.5 (as found in Ubuntu 18.04 LTS Bionic, for example). The attached patch fixes the build for Qt 5.9.5 by making the suggested change.

Official documentation of relevance is found here:

https://doc.qt.io/archives/qt-5.11/qscopedpointer.html
Comment 1 Maik Qualmann 2021-07-27 19:39:11 UTC
Git commit 412ba95a01d308a0777b0297d244a8372e551239 by Maik Qualmann.
Committed on 27/07/2021 at 19:38.
Pushed by mqualmann into branch 'master'.

apply patch #140347 from Rob Savoury to fix compile with Qt-5.9.5
FIXED-IN: 7.4.0

M  +2    -1    NEWS
M  +1    -1    core/libs/database/dbjobs/dbjobsthread.cpp
M  +4    -4    core/libs/database/haar/haariface_p.cpp
M  +6    -6    core/libs/dngwriter/dngwriter_convert.cpp

https://invent.kde.org/graphics/digikam/commit/412ba95a01d308a0777b0297d244a8372e551239