package: digikam severity: serious tags: patch version: 4:2.6.0~beta2-2
The latest upload of digikam failed on armel and armhf with the following erors
cd "/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/photolayoutseditor" && /usr/bin/c++ -D_BSD_SOURCE -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -DQT_NO_STL -DQT_NO_CAST_TO_ASCII -D_REENTRANT -DKDE_DEPRECATED_WARNINGS -DKDE4_CMAKE_TOPLEVEL_DIR_LENGTH=48 -DKDE_DEFAULT_DEBUG_AREA=51000 -DAREA_CODE_GENERAL=51000 -DAREA_CODE_LOADING=51001 -DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -DNDEBUG -DQT_NO_DEBUG -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/photolayoutseditor" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-
plugins/photolayoutseditor" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins/dialogs" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins/dialogs" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins/widgets" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins/widgets" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins/tools" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/di gikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins/tools" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins/tools/threads" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins/tools/threads" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/common/libkipiplugins/tools/imageio" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/obj-arm-linux-gnueabihf/extra/kipi-plugins/common/libkipiplugins/tools/imageio" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/borders" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/borderplugins" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photo layoutseditor/borderplugins/polaroid" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/borderplugins/solid" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effects" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins/blur" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins/colorize" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins/grayscale" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins/sepia" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef 6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/effectplugins/negative" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/events" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/listeners" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/models" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/plugin" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/settings" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/threads" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/undo" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/e xtra/kipi-plugins/photolayoutseditor/utils" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/utils/qtpropertybrowser/src" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/dialogs" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/extra" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/items" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/layers" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam -2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/menus" -I"/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/tools" -I/usr/include/opencv -I/usr/include/KDE -I/usr/include/qt4/phonon -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtSvg -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtDBus -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore -I/usr/include/qt4/Qt -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -fPIC -fdata-sections -ffunction-sections -fPIC -o CMakeFiles/libphotolayoutseditor.d ir/widgets/canvas/CropWidgetItem.cpp.o -c "/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp"
/build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp: In member function 'virtual void KIPIPhotoLayoutsEditor::CropWidgetItem::mouseMoveEvent(QGraphicsSceneMouseEvent*)': /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:343:62: error: no matching function for call to 'qMin(qreal, double)' /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:343:62: note: candidate is: /usr/include/qt4/QtCore/qglobal.h:1114:17: note: template<class T> const T& qMin(const T&, const T&) /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:343:104: error: no matching function for call to 'qMin(qreal, double)' /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:343:104: note: candidate is: /usr/include/qt4/QtCore/qglobal.h:1114:17: note: template<class T> const T& qMin(const T&, const T&) /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:344:60: error: no matching function for call to 'qMax(qreal, double)' /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:344:60: note: candidate is: /usr/include/qt4/QtCore/qglobal.h:1116:17: note: template<class T> const T& qMax(const T&, const T&) /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:344:96: error: no matching function for call to 'qMax(qreal, double)' /build/buildd-digikam_2.6.0~beta2-2-armhf-ef6tKS/digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp:344:96: note: candidate is: /usr/include/qt4/QtCore/qglobal.h:1116:17: note: template<class T> const T& qMax(const T&, const T&)
On most architectures qreal is defined as double but on arm architectures it is defined as float. Assignments between double and qreal are ok because assignments between float and qreal are ok. However pointers to qreal must be treated as incompatible with pointers to double and there can also be problems involving templates and ambiguous overloads. In this particular case the issue is the qMin, qMax and qBound templates which require all parameters to be of the same type. The fix in this case is pretty simple, just a matter of adding some typecasts to change constants to qreal before passing them to qMin, qMax and qBound. I also found an issue where something was creating a qlist with component type qreal but passing it to a a routine that took a qlist with component type double. Again this was easy to fix.
diff -ur digikam-2.6.0~beta2/core/libs/widgets/graphicsview/regionframeitem.cpp digikam-2.6.0~beta2.new/core/libs/widgets/graphicsview/regionframeitem.cpp --- digikam-2.6.0~beta2/core/libs/widgets/graphicsview/regionframeitem.cpp 2012-03-05 12:48:20.000000000 +0000 +++ digikam-2.6.0~beta2.new/core/libs/widgets/graphicsview/regionframeitem.cpp 2012-04-05 20:28:00.000000000 +0000 @@ -639,8 +639,8 @@ { const QSizeF maxSize = parentDImgItem()->boundingRect().size(); const QPointF point = mapToParent(event->pos()); - qreal posX = qBound(0., point.x(), maxSize.width()); - qreal posY = qBound(0., point.y(), maxSize.height()); + qreal posX = qBound(qreal(0.), point.x(), maxSize.width()); + qreal posY = qBound(qreal(0.), point.y(), maxSize.height()); QRectF r = rect(); // Adjust edge diff -ur digikam-2.6.0~beta2/core/utilities/gpssearch/gpssearchview.cpp digikam-2.6.0~beta2.new/core/utilities/gpssearch/gpssearchview.cpp --- digikam-2.6.0~beta2/core/utilities/gpssearch/gpssearchview.cpp 2012-03-05 12:48:18.000000000 +0000 +++ digikam-2.6.0~beta2.new/core/utilities/gpssearch/gpssearchview.cpp 2012-04-05 21:34:00.000000000 +0000 @@ -422,7 +422,7 @@ // NOTE: coordinates as lon1, lat1, lon2, lat2 (or West, North, East, South) // as left/top, right/bottom rectangle. - QList<qreal> coordinatesList = QList<qreal>() << + QList<double> coordinatesList = QList<double>() << coordinates.first.lon() << coordinates.first.lat() << coordinates.second.lon() << coordinates.second.lat(); Only in digikam-2.6.0~beta2: download-repos~ diff -ur digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp digikam-2.6.0~beta2.new/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp --- digikam-2.6.0~beta2/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp 2012-03-05 12:48:08.000000000 +0000 +++ digikam-2.6.0~beta2.new/extra/kipi-plugins/photolayoutseditor/widgets/canvas/CropWidgetItem.cpp 2012-04-05 18:55:55.000000000 +0000 @@ -340,8 +340,8 @@ QPointF dif = event->scenePos() - event->lastScenePos(); temp.translate(dif); - temp.translate( qMin(maxRect.right()-temp.right(),0.0), qMin(maxRect.bottom()-temp.bottom(),0.0) ); - temp.translate( qMax(maxRect.left()-temp.left(),0.0), qMax(maxRect.top()-temp.top(),0.0) ); + temp.translate( qMin(maxRect.right()-temp.right(),qreal(0.0)), qMin(maxRect.bottom()-temp.bottom(),qreal(0.0)) ); + temp.translate( qMax(maxRect.left()-temp.left(),qreal(0.0)), qMax(maxRect.top()-temp.top(),qreal(0.0)) ); } // Size change else Only in digikam-2.6.0~beta2: .gitslave~