Bug 503069

Summary: Build failed with : threadimageio/preview/previewtask.cpp:80:58
Product: [Applications] digikam Reporter: pascal lacroix <kikoucalou>
Component: Portability-CompilationAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles, metzpinguin
Priority: NOR    
Version First Reported In: 8.7.0   
Target Milestone: ---   
Platform: Mint (Ubuntu based)   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 8.7.0
Sentry Crash Report:

Description pascal lacroix 2025-04-20 16:32:49 UTC
Build failed with : 

[ 11%] Built target core_threadimageio_obj_autogen_timestamp_deps
[ 11%] Built target core_threadimageio_obj_autogen
[ 11%] Building CXX object core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/preview/previewtask.cpp.o
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp: In member function ‘virtual void Digikam::PreviewLoadingTask::execute()’:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:58: error: no match for ‘operator!=’ (operand types are ‘Digikam::DRawDecoding’ and ‘Digikam::DRawDecoding’)
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                       |                          |
      |                                                       Digikam::DRawDecoding      Digikam::DRawDecoding
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h:45,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:47,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstringlist.h:41,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qcolor.h:46,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:44,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/QImage:1,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.h:20,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:17:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:118:41: note: candidate: ‘template<class T1, class T2> constexpr bool operator!=(const QPair<T1, T2>&, const QPair<T1, T2>&)’
  118 | Q_DECL_CONSTEXPR Q_INLINE_TEMPLATE bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
      |                                         ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpair.h:118:41: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QPair<T1, T2>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qregion.h:49,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qmatrix.h:45,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtransform.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:48:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:190:13: note: candidate: ‘template<class T, class Cleanup> bool operator!=(const QScopedPointer<T, Cleanup>&, const QScopedPointer<T, Cleanup>&)’
  190 | inline bool operator!=(const QScopedPointer<T, Cleanup> &lhs, const QScopedPointer<T, Cleanup> &rhs) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:190:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:208:13: note: candidate: ‘template<class T, class Cleanup> bool operator!=(const QScopedPointer<T, Cleanup>&, std::nullptr_t)’
  208 | inline bool operator!=(const QScopedPointer<T, Cleanup> &lhs, std::nullptr_t) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:208:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:13: note: candidate: ‘template<class T, class Cleanup> bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup>&)’
  214 | inline bool operator!=(std::nullptr_t, const QScopedPointer<T, Cleanup> &rhs) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qscopedpointer.h:214:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QScopedPointer<T, Cleanup>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qmetatype.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qobject.h:54,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qiodevice.h:45,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdatastream.h:44:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:562:6: note: candidate: ‘template<class T, int Prealloc1, int Prealloc2> bool operator!=(const QVarLengthArray<T, Prealloc1>&, const QVarLengthArray<T, Prealloc2>&)’
  562 | bool operator!=(const QVarLengthArray<T, Prealloc1> &l, const QVarLengthArray<T, Prealloc2> &r)
      |      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvarlengtharray.h:562:6: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QVarLengthArray<T, Prealloc1>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer.h:48,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h:54,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/QDebug:1,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/rawengine/drawdecodersettings.h:23,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/dimg/filters/raw/drawdecoding.h:26,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/dimg/dimg.h:32,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/fileio/loadsavetask.h:25,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.h:24:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:758:6: note: candidate: ‘template<class T, class X> bool operator!=(const QSharedPointer<T>&, const QSharedPointer<T>&)’
  758 | bool operator!=(const QSharedPointer<T> &ptr1, const QSharedPointer<X> &ptr2) noexcept
      |      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:758:6: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QSharedPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:774:6: note: candidate: ‘template<class T, class X> bool operator!=(const QSharedPointer<T>&, const X*)’
  774 | bool operator!=(const QSharedPointer<T> &ptr1, const X *ptr2) noexcept
      |      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:774:6: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QSharedPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:779:6: note: candidate: ‘template<class T, class X> bool operator!=(const T*, const QSharedPointer<T>&)’
  779 | bool operator!=(const T *ptr1, const QSharedPointer<X> &ptr2) noexcept
      |      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:779:6: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   mismatched types ‘const T*’ and ‘Digikam::DRawDecoding’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:790:6: note: candidate: ‘template<class T, class X> bool operator!=(const QSharedPointer<T>&, const QWeakPointer<X>&)’
  790 | bool operator!=(const QSharedPointer<T> &ptr1, const QWeakPointer<X> &ptr2) noexcept
      |      ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:790:6: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QSharedPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:802:13: note: candidate: ‘template<class T> bool operator!=(const QSharedPointer<T>&, std::nullptr_t)’
  802 | inline bool operator!=(const QSharedPointer<T> &lhs, std::nullptr_t) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:802:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QSharedPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:814:13: note: candidate: ‘template<class T> bool operator!=(std::nullptr_t, const QSharedPointer<T>&)’
  814 | inline bool operator!=(std::nullptr_t, const QSharedPointer<T> &rhs) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:814:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QSharedPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:826:13: note: candidate: ‘template<class T> bool operator!=(const QWeakPointer<T>&, std::nullptr_t)’
  826 | inline bool operator!=(const QWeakPointer<T> &lhs, std::nullptr_t) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:826:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QWeakPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:838:13: note: candidate: ‘template<class T> bool operator!=(std::nullptr_t, const QWeakPointer<T>&)’
  838 | inline bool operator!=(std::nullptr_t, const QWeakPointer<T> &rhs) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsharedpointer_impl.h:838:13: note:   template argument deduction/substitution failed:
/mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/threadimageio/preview/previewtask.cpp:80:82: note:   ‘Digikam::DRawDecoding’ is not derived from ‘const QWeakPointer<T>’
   80 |                     if (cachedImg->rawDecodingSettings() != m_loadingDescription.rawDecodingSettings)
      |                                                                                  ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:49,
                 from /usr/include/x86_64-linux-gnu/qt5/QtCore/qhashfunctions.h:44:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:62:30: note: candidate: ‘constexpr bool operator!=(char, QLatin1Char)’
   62 | Q_DECL_CONSTEXPR inline bool operator!=(char lhs, QLatin1Char rhs) noexcept { return lhs != rhs.toLatin1(); }
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:62:46: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘char’
   62 | Q_DECL_CONSTEXPR inline bool operator!=(char lhs, QLatin1Char rhs) noexcept { return lhs != rhs.toLatin1(); }
      |                                         ~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:69:30: note: candidate: ‘constexpr bool operator!=(QLatin1Char, char)’
   69 | Q_DECL_CONSTEXPR inline bool operator!=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() != rhs; }
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:69:53: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QLatin1Char’
   69 | Q_DECL_CONSTEXPR inline bool operator!=(QLatin1Char lhs, char rhs) noexcept { return lhs.toLatin1() != rhs; }
      |                                         ~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:640:30: note: candidate: ‘constexpr bool operator!=(QChar, QChar)’
  640 | Q_DECL_CONSTEXPR inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); }
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:640:47: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
  640 | Q_DECL_CONSTEXPR inline bool operator!=(QChar c1, QChar c2) noexcept { return !operator==(c1, c2); }
      |                                         ~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:651:30: note: candidate: ‘constexpr bool operator!=(QChar, std::nullptr_t)’
  651 | Q_DECL_CONSTEXPR inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); }
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:651:47: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
  651 | Q_DECL_CONSTEXPR inline bool operator!=(QChar lhs, std::nullptr_t) noexcept { return !operator==(lhs, nullptr); }
      |                                         ~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:656:30: note: candidate: ‘constexpr bool operator!=(std::nullptr_t, QChar)’
  656 | Q_DECL_CONSTEXPR inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); }
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qchar.h:656:41: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘std::nullptr_t’
  656 | Q_DECL_CONSTEXPR inline bool operator!=(std::nullptr_t, QChar rhs) noexcept { return !operator==(nullptr, rhs); }
      |                                         ^~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:50:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:690:13: note: candidate: ‘bool operator!=(const QByteArray&, const QByteArray&)’
  690 | inline bool operator!=(const QByteArray &a1, const QByteArray &a2) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:690:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QByteArray&’
  690 | inline bool operator!=(const QByteArray &a1, const QByteArray &a2) noexcept
      |                        ~~~~~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:692:13: note: candidate: ‘bool operator!=(const QByteArray&, const char*)’
  692 | inline bool operator!=(const QByteArray &a1, const char *a2) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:692:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QByteArray&’
  692 | inline bool operator!=(const QByteArray &a1, const char *a2) noexcept
      |                        ~~~~~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:694:13: note: candidate: ‘bool operator!=(const char*, const QByteArray&)’
  694 | inline bool operator!=(const char *a1, const QByteArray &a2) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:694:36: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const char*’
  694 | inline bool operator!=(const char *a1, const QByteArray &a2) noexcept
      |                        ~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:811:13: note: candidate: ‘bool operator!=(const QByteArray::FromBase64Result&, const QByteArray::FromBase64Result&)’
  811 | inline bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qbytearray.h:811:60: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QByteArray::FromBase64Result&’
  811 | inline bool operator!=(const QByteArray::FromBase64Result &lhs, const QByteArray::FromBase64Result &rhs) noexcept
      |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1385:13: note: candidate: ‘bool operator!=(QLatin1String, QLatin1String)’
 1385 | inline bool operator!=(QLatin1String s1, QLatin1String s2) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1385:38: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QLatin1String’
 1385 | inline bool operator!=(QLatin1String s1, QLatin1String s2) noexcept
      |                        ~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1819:13: note: candidate: ‘bool operator!=(const QStringRef&, const QStringRef&)’
 1819 | inline bool operator!=(const QStringRef &s1, const QStringRef &s2) noexcept
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1819:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QStringRef&’
 1819 | inline bool operator!=(const QStringRef &s1, const QStringRef &s2) noexcept
      |                        ~~~~~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1831:13: note: candidate: ‘bool operator!=(const QString&, const QStringRef&)’
 1831 | inline bool operator!=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) != 0; }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1831:39: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QString&’
 1831 | inline bool operator!=(const QString &lhs, const QStringRef &rhs) noexcept { return lhs.compare(rhs) != 0; }
      |                        ~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1838:13: note: candidate: ‘bool operator!=(const QStringRef&, const QString&)’
 1838 | inline bool operator!=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs != lhs; }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1838:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QStringRef&’
 1838 | inline bool operator!=(const QStringRef &lhs, const QString &rhs) noexcept { return rhs != lhs; }
      |                        ~~~~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1867:13: note: candidate: ‘bool operator!=(QLatin1String, const QStringRef&)’
 1867 | inline bool operator!=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) != 0; }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1867:38: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QLatin1String’
 1867 | inline bool operator!=(QLatin1String lhs, const QStringRef &rhs) noexcept { return rhs.compare(lhs) != 0; }
      |                        ~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1874:13: note: candidate: ‘bool operator!=(const QStringRef&, QLatin1String)’
 1874 | inline bool operator!=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs != lhs; }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1874:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QStringRef&’
 1874 | inline bool operator!=(const QStringRef &lhs, QLatin1String rhs) noexcept { return rhs != lhs; }
      |                        ~~~~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1888:13: note: candidate: ‘bool operator!=(QChar, const QString&)’
 1888 | inline bool operator!=(QChar lhs, const QString &rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1888:30: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
 1888 | inline bool operator!=(QChar lhs, const QString &rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1893:13: note: candidate: ‘bool operator!=(const QString&, QChar)’
 1893 | inline bool operator!=(const QString &lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1893:39: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QString&’
 1893 | inline bool operator!=(const QString &lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |                        ~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1907:13: note: candidate: ‘bool operator!=(QChar, const QStringRef&)’
 1907 | inline bool operator!=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1907:30: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
 1907 | inline bool operator!=(QChar lhs, const QStringRef &rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1912:13: note: candidate: ‘bool operator!=(const QStringRef&, QChar)’
 1912 | inline bool operator!=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1912:42: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QStringRef&’
 1912 | inline bool operator!=(const QStringRef &lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |                        ~~~~~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1926:13: note: candidate: ‘bool operator!=(QChar, QLatin1String)’
 1926 | inline bool operator!=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1926:30: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
 1926 | inline bool operator!=(QChar lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1931:13: note: candidate: ‘bool operator!=(QLatin1String, QChar)’
 1931 | inline bool operator!=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1931:38: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QLatin1String’
 1931 | inline bool operator!=(QLatin1String lhs, QChar rhs) noexcept { return !(rhs == lhs); }
      |                        ~~~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1939:13: note: candidate: ‘bool operator!=(QStringView, QStringView)’
 1939 | inline bool operator!=(QStringView lhs, QStringView rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1939:36: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QStringView’
 1939 | inline bool operator!=(QStringView lhs, QStringView rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1947:13: note: candidate: ‘bool operator!=(QStringView, QChar)’
 1947 | inline bool operator!=(QStringView lhs, QChar rhs) noexcept { return lhs != QStringView(&rhs, 1); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1947:36: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QStringView’
 1947 | inline bool operator!=(QStringView lhs, QChar rhs) noexcept { return lhs != QStringView(&rhs, 1); }
      |                        ~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1954:13: note: candidate: ‘bool operator!=(QChar, QStringView)’
 1954 | inline bool operator!=(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) != rhs; }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1954:30: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QChar’
 1954 | inline bool operator!=(QChar lhs, QStringView rhs) noexcept { return QStringView(&lhs, 1) != rhs; }
      |                        ~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1962:13: note: candidate: ‘bool operator!=(QStringView, QLatin1String)’
 1962 | inline bool operator!=(QStringView lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1962:36: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QStringView’
 1962 | inline bool operator!=(QStringView lhs, QLatin1String rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~~~~~~~^~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1969:13: note: candidate: ‘bool operator!=(QLatin1String, QStringView)’
 1969 | inline bool operator!=(QLatin1String lhs, QStringView rhs) noexcept { return !(lhs == rhs); }
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1969:38: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘QLatin1String’
 1969 | inline bool operator!=(QLatin1String lhs, QStringView rhs) noexcept { return !(lhs == rhs); }
      |                        ~~~~~~~~~~~~~~^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:43,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qpaintdevice.h:45,
                 from /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:46:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:144:30: note: candidate: ‘constexpr bool operator!=(const QMargins&, const QMargins&)’
  144 | Q_DECL_CONSTEXPR inline bool operator!=(const QMargins &m1, const QMargins &m2) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:144:57: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QMargins&’
  144 | Q_DECL_CONSTEXPR inline bool operator!=(const QMargins &m1, const QMargins &m2) noexcept
      |                                         ~~~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:380:30: note: candidate: ‘constexpr bool operator!=(const QMarginsF&, const QMarginsF&)’
  380 | Q_DECL_CONSTEXPR inline bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qmargins.h:380:58: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QMarginsF&’
  380 | Q_DECL_CONSTEXPR inline bool operator!=(const QMarginsF &lhs, const QMarginsF &rhs) noexcept
      |                                         ~~~~~~~~~~~~~~~~~^~~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:44:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:178:30: note: candidate: ‘constexpr bool operator!=(const QSize&, const QSize&)’
  178 | Q_DECL_CONSTEXPR inline bool operator!=(const QSize &s1, const QSize &s2) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:178:54: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QSize&’
  178 | Q_DECL_CONSTEXPR inline bool operator!=(const QSize &s1, const QSize &s2) noexcept
      |                                         ~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:353:30: note: candidate: ‘constexpr bool operator!=(const QSizeF&, const QSizeF&)’
  353 | Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &s1, const QSizeF &s2) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qsize.h:353:55: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QSizeF&’
  353 | Q_DECL_CONSTEXPR inline bool operator!=(const QSizeF &s1, const QSizeF &s2) noexcept
      |                                         ~~~~~~~~~~~~~~^~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:45:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:168:30: note: candidate: ‘constexpr bool operator!=(const QPoint&, const QPoint&)’
  168 | Q_DECL_CONSTEXPR inline bool operator!=(const QPoint &p1, const QPoint &p2)
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:168:55: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QPoint&’
  168 | Q_DECL_CONSTEXPR inline bool operator!=(const QPoint &p1, const QPoint &p2)
      |                                         ~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:363:30: note: candidate: ‘constexpr bool operator!=(const QPointF&, const QPointF&)’
  363 | Q_DECL_CONSTEXPR inline bool operator!=(const QPointF &p1, const QPointF &p2)
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qpoint.h:363:56: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QPointF&’
  363 | Q_DECL_CONSTEXPR inline bool operator!=(const QPointF &p1, const QPointF &p2)
      |                                         ~~~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:459:30: note: candidate: ‘constexpr bool operator!=(const QRect&, const QRect&)’
  459 | Q_DECL_CONSTEXPR inline bool operator!=(const QRect &r1, const QRect &r2) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:459:54: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QRect&’
  459 | Q_DECL_CONSTEXPR inline bool operator!=(const QRect &r1, const QRect &r2) noexcept
      |                                         ~~~~~~~~~~~~~^~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:866:30: note: candidate: ‘constexpr bool operator!=(const QRectF&, const QRectF&)’
  866 | Q_DECL_CONSTEXPR inline bool operator!=(const QRectF &r1, const QRectF &r2) noexcept
      |                              ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qrect.h:866:55: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QRectF&’
  866 | Q_DECL_CONSTEXPR inline bool operator!=(const QRectF &r1, const QRectF &r2) noexcept
      |                                         ~~~~~~~~~~~~~~^~
In file included from /usr/include/x86_64-linux-gnu/qt5/QtCore/QVariant:1,
                 from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-04-03/digikam/core/libs/dimg/dimg.h:27:
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:616:13: note: candidate: ‘bool operator!=(const QVariant&, const QVariantComparisonHelper&)’
  616 | inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2)
      |             ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt5/QtCore/qvariant.h:616:40: note:   no known conversion for argument 1 from ‘Digikam::DRawDecoding’ to ‘const QVariant&’
  616 | inline bool operator!=(const QVariant &v1, const QVariantComparisonHelper &v2)
      |                        ~~~~~~~~~~~~~~~~^~
make[2]: *** [core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/build.make:110 : core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/preview/previewtask.cpp.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:9928 : core/libs/threadimageio/CMakeFiles/core_threadimageio_obj.dir/all] Erreur 2
make: *** [Makefile:146 : all] Erreur 2




SOFTWARE/OS VERSIONS
Linux


Processeur     : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
Mémoire     : 32813MB (17029MB utilisé)
Systeme d'exploitation     : Linux Mint 22.1

Environnement de développement de KDE 
Version 5.115.0

Qt 
Version 5.15.13 (Compilé avec 5.15.13)



ADDITIONAL INFORMATION
My lasted build today : https://invent.kde.org/graphics/digikam/commit/25c64d93f0a393b7fcd14d3a8a237dfca14255b3

Perhaps a bug in last " add option in Maintenance to delete rejected face tags " commit ?
Comment 1 Maik Qualmann 2025-04-20 16:38:50 UTC
I fix this later...

Maik
Comment 2 Maik Qualmann 2025-04-20 20:53:55 UTC
Git commit 4dbe4f302f9605298adf624e455c27eeb9424aa5 by Maik Qualmann.
Committed on 20/04/2025 at 20:52.
Pushed by mqualmann into branch 'master'.

fix compile with Qt5
FIXED-IN: 8.7.0

M  +1    -1    NEWS
M  +3    -3    core/libs/threadimageio/fileio/loadsavetask.cpp
M  +4    -3    core/libs/threadimageio/preview/previewtask.cpp

https://invent.kde.org/graphics/digikam/-/commit/4dbe4f302f9605298adf624e455c27eeb9424aa5
Comment 3 pascal lacroix 2025-04-21 07:49:17 UTC
Build and run nicely on QT5
https://invent.kde.org/graphics/digikam/-/commit/4f497e2c94edc5bde0f82c3c13a6ddbe78981bbb

Thanks