Build from git download on 2025/01/11 failled with error : "digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:269:13: note: in expansion of macro ‘MLPIPELINE_LOOP_START’ 269 | MLPIPELINE_LOOP_START(MLPipelineStage::Loader, thisQueue); | ^~~~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/mlfoundation/mlpipelinemacros.h:53:68: error: no matching function for call to ‘qMax(int&, qint64)’ 53 | performanceProfileList[thisStage].maxElapsedTime = qMax(performanceProfileList[thisStage].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:317:13: note: in expansion of macro ‘MLPIPELINE_LOOP_END’ 317 | MLPIPELINE_LOOP_END(MLPipelineStage::Loader); | ^~~~~~~~~~~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtguiglobal.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtGui/qimage.h:43, from /usr/include/x86_64-linux-gnu/qt5/QtGui/QImage:1, from /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/autotagspipelinebase.h:20: /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: candidate: ‘template<class T> constexpr const T& qMax(const T&, const T&)’ 673 | constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } | ^~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: template argument deduction/substitution failed: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/mlfoundation/mlpipelinemacros.h:53:68: note: deduced conflicting types for parameter ‘const T’ (‘int’ and ‘qint64’ {aka ‘long long int’}) 53 | performanceProfileList[thisStage].maxElapsedTime = qMax(performanceProfileList[thisStage].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:317:13: note: in expansion of macro ‘MLPIPELINE_LOOP_END’ 317 | MLPIPELINE_LOOP_END(MLPipelineStage::Loader); | ^~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp: In member function ‘virtual bool Digikam::AutotagsPipelineObject::extractor()’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:438:85: error: no matching function for call to ‘qMax(int&, qint64)’ 438 | performanceProfileList[MLPipelineStage::Extractor].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Extractor].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: candidate: ‘template<class T> constexpr const T& qMax(const T&, const T&)’ 673 | constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } | ^~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: template argument deduction/substitution failed: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:438:85: note: deduced conflicting types for parameter ‘const T’ (‘int’ and ‘qint64’ {aka ‘long long int’}) 438 | performanceProfileList[MLPipelineStage::Extractor].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Extractor].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp: In member function ‘virtual bool Digikam::AutotagsPipelineObject::classifier()’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:518:86: error: no matching function for call to ‘qMax(int&, qint64)’ 518 | performanceProfileList[MLPipelineStage::Classifier].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Classifier].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: candidate: ‘template<class T> constexpr const T& qMax(const T&, const T&)’ 673 | constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } | ^~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: template argument deduction/substitution failed: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:518:86: note: deduced conflicting types for parameter ‘const T’ (‘int’ and ‘qint64’ {aka ‘long long int’}) 518 | performanceProfileList[MLPipelineStage::Classifier].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Classifier].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp: In member function ‘virtual bool Digikam::AutotagsPipelineObject::writer()’: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:688:82: error: no matching function for call to ‘qMax(int&, qint64)’ 688 | performanceProfileList[MLPipelineStage::Writer].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Writer].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: candidate: ‘template<class T> constexpr const T& qMax(const T&, const T&)’ 673 | constexpr inline const T &qMax(const T &a, const T &b) { return (a < b) ? b : a; } | ^~~~ /usr/include/x86_64-linux-gnu/qt5/QtCore/qglobal.h:673:27: note: template argument deduction/substitution failed: /mnt/2c98cfab-4320-4ff2-b8d7-f2da522cc741/digikam-devel/dk-2025-01-11/digikam/core/libs/tags/autoassignment/pipelines/object/autotagspipelineobject.cpp:688:82: note: deduced conflicting types for parameter ‘const T’ (‘int’ and ‘qint64’ {aka ‘long long int’}) 688 | performanceProfileList[MLPipelineStage::Writer].maxElapsedTime = qMax(performanceProfileList[MLPipelineStage::Writer].maxElapsedTime, timer.elapsed()); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [core/libs/tags/CMakeFiles/gui_digikamautotagassignment_obj.dir/build.make:152 : core/libs/tags/CMakeFiles/gui_digikamautotagassignment_obj.dir/autoassignment/pipelines/object/autotagspipelineobject.cpp.o] Erreur 1 make[1]: *** [CMakeFiles/Makefile2:11891 : core/libs/tags/CMakeFiles/gui_digikamautotagassignment_obj.dir/all] Erreur 2 make: *** [Makefile:146 : all] Erreur 2 " -Ordinateur- Processeur : Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz Mémoire : 32813MB (6981MB utilisé) Machine Type : Tower Systeme d'exploitation : Linux Mint 22 Environnement de développement de KDE Version 5.115.0 Qt Version 5.15.13 (Compilé avec 5.15.13) ADDITIONAL INFORMATION Date de compilation : 10/01/2025 18:33 Cible de compilation : Debug Architecture de compilation : x86_64 Révision sous Git : 032...81f3 Branche sous Git : master Was building nicely
Hi Pascal, I completed a significant merge yesterday. The AI models, classifiers, and pipeline for Autotagging has been completely rewritten. I'll look at the pipeline macros to see why they won't compile for you. Cheers, Mike
Pascal compiles with Qt5. I think qMax in the macros should be replaced with std:max for testing purposes. Maik
(In reply to Maik Qualmann from comment #2) > Pascal compiles with Qt5. I think qMax in the macros should be replaced with > std:max for testing purposes. > > Maik Hi Maik, Good idea. I think the problem is the different types (int vs qint64). I was to commit a change that casts all calls to qMax to (qint64). I'll also change it to std::max. Hopefully the two changes together fix the issue. Cheers, Mike
Hi Michael, Hmm, are you sure about qint64? I actually checked it before, both are actually int. Maik
(In reply to Maik Qualmann from comment #4) > Hi Michael, > > Hmm, are you sure about qint64? I actually checked it before, both are > actually int. > > Maik One is an int, the other is a long long int > deduced conflicting types for parameter ‘const T’ (‘int’ and ‘qint64’ {aka ‘long long int’}) Cheers, Mike
Révision sous Git : f80...6a69 https://invent.kde.org/graphics/digikam/commit/f8060cae7c9252bc56087264e738f19510816a69 build and run nicely on linux mint 22 Thanks !
(In reply to pascal lacroix from comment #6) > Révision sous Git : > f80...6a69 > https://invent.kde.org/graphics/digikam/commit/ > f8060cae7c9252bc56087264e738f19510816a69 > > build and run nicely on linux mint 22 > > Thanks ! Wonderful! I'm happy that fixed it for you. Cheers, Mike
Hi Michael, I have several compile warnings here, unfortunately in German. In Datei, eingebunden von /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinefoundation.h:36, von /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinefoundation.cpp:16: /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinemacros.h:82:1: Warnung: mehrzeiliger Kommentar [-Wcomment] 82 | // #define MLPIPELINE_CATCH(pipelineStageName) \ | ^ Maik
(In reply to Maik Qualmann from comment #8) > Hi Michael, > > I have several compile warnings here, unfortunately in German. > > In Datei, eingebunden von > /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinefoundation.h:36, > von > /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinefoundation.cpp:16: > /home/maik/Devel/digikam/core/libs/mlfoundation/mlpipelinemacros.h:82:1: > Warnung: mehrzeiliger Kommentar [-Wcomment] > 82 | // #define MLPIPELINE_CATCH(pipelineStageName) \ > | ^ > > Maik Hi Maik, No worries. It's been a long time since I learned German, but I still understand enough to see the problem. It should be fixed in my latest commit. Cheers, Mike