https://bugs.kde.org/show_bug.cgi?id=449107
Bug ID: 449107 Summary: digiKam 7.5.0 FTBFS with Qt 5.9.5 (as found in Ubuntu Bionic 18.04) Product: digikam Version: 7.5.0 Platform: Ubuntu Packages OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: Plugin-WebService-iNaturalist Assignee: digikam-bugs-n...@kde.org Reporter: savo...@savos.tech Target Milestone: --- Created attachment 145895 --> https://bugs.kde.org/attachment.cgi?id=145895&action=edit Change QScopedPointer get to data (fix FTBFS with Qt 5.9.5) SUMMARY digiKam 7.5.0 FTBFS with Qt 5.9.5 due introducing use of code requiring a newer Qt version. STEPS TO REPRODUCE 1. Download digiKam 7.5.0 source and extract. 2. Attempt building source using pbuilder in a clean chroot with all appropriate build dependencies. 3. Build fails with errors as described below. OBSERVED RESULT The build fails with two distinct errors: 1) due use of QScopedPointer get function (Qt >= 5.11) in this file: core/utilities/geolocation/geoiface/tiles/abstractmarkertiler.cpp 2) due use of key_value_iterator (Qt >= 5.10) in this file (iNaturalist): core/dplugins/generic/webservices/inaturalist/inattalker.cpp EXPECTED RESULT That the build succeeds with Qt 5.9.5 as Qt 5.9 is (still, for now!) listed as a sufficient 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 Changing the QScopedPointer get call to a data call fixes the first issue, as per bug 440313 (see attached patch). However, the use of key_value_iterator is more complex (for myself, not a C++ or Qt programmer!) and after a couple hours looking at how to rework the new slotTimeout function in the iNaturalist plugin with Qt 5.9 compatible iterators it was not obvious to me what would be functionally equivalent. So for a successful "unofficial" Ubuntu 18.04 build at the digiKam PPA that I maintain the temporary solution was to remove the entire new slotTimeout function from the iNaturalist plugin, specifically removing relevant code from these two files: core/dplugins/generic/webservices/inaturalist/inattalker.cpp core/dplugins/generic/webservices/inaturalist/inattalker.h No doubt there is a way to rework slotTimeout to use Qt 5.9 compatible iterators, such that anyone running an older system who uploads to iNaturalist will have the new timeout functionality as well. Official documentation of relevance for the two issues: 1) https://doc.qt.io/archives/qt-5.11/qscopedpointer.html 2) https://doc.qt.io/archives/qt-5.10/qhash.html -- You are receiving this mail because: You are watching all bug changes.