build error with QT 5.7.1

Gilles Caulier caulier.gilles at gmail.com
Tue Apr 30 06:29:27 BST 2019


Hi Simon,

I don't think that problem is relevant of Qt 5.7.1. I know that
Qt5.6.3 still supported.

The checkAmbiguousShortcuts() method is defined in parent class of
DXmlGuiWindow :

https://cgit.kde.org/kxmlgui.git/tree/src/kxmlguiwindow.h#n346

... from KF5XmlGui framework. The right question is : which minimal
KF5 version is required to support this method from KF5 ?

The KF5 API doc has this information :

https://api.kde.org/frameworks/kxmlgui/html/classKXmlGuiWindow.html#aea610ce67bb0af4e1ed727222370cad4

=> 5.3.0. So it's a very old method in fact. We are in KF5::5.57 currently.

So i suspect a linking problem on your computer, as for exemple a
wrong export of this method. here readelf is informative :

[gilles at localhost lib64]$ pwd
/usr/lib64
[gilles at localhost lib64]$ readelf -Ws libKF5XmlGui.so.5.57.0 | grep
checkAmbiguousShortcuts
 1878: 00000000000cd0c0  2704 FUNC    GLOBAL DEFAULT   12
_ZN13KXmlGuiWindow23checkAmbiguousShortcutsEv
[gilles at localhost lib64]$

So the function is here and available.

Another point is to check if dxmlguiwindow.o is well linked with
libKF5XmlGui.so through digikamwidgetscore object. Here, using "export
VERBOSE=1" before to run make in digikam build directory will be
instructive.

Best

Gilles

Le mar. 30 avr. 2019 à 00:39, Simon Frei <freisim93 at gmail.com> a écrit :
>
> I get the following error trying to build 6.1.0 with qt 5.7.1:
>
> .../core/libs/widgets/mai
> nview/dxmlguiwindow.cpp: In member function 'void
> Digikam::DXmlGuiWindow::regist
> erPluginsActions()':
> .../core/libs/widgets/mainview/dxmlguiwindow.cpp:247:29: error:
> 'checkAmbiguousShortcuts' was not declared in this scope
>      checkAmbiguousShortcuts();
>                              ^
> core/libs/widgets/CMakeFiles/digikamwidgetscore_src.dir/build.make:62:
> recipe for target
> 'core/libs/widgets/CMakeFiles/digikamwidgetscore_src.dir/mainview/dxmlguiwindow.cpp.o'
> failed
> make[2]: ***
> [core/libs/widgets/CMakeFiles/digikamwidgetscore_src.dir/mainview/dxmlguiwindow.cpp.o]
> Error 1
> CMakeFiles/Makefile2:2304: recipe for target
> 'core/libs/widgets/CMakeFiles/digikamwidgetscore_src.dir/all' failed
> make[1]: ***
> [core/libs/widgets/CMakeFiles/digikamwidgetscore_src.dir/all] Error 2
> make[1]: *** Waiting for unfinished jobs....
>
> As far as I am aware 5.7.1 should still be supported, correct? Any idea
> how to fix it?
>
> Thanks in advance for any help!


More information about the Digikam-devel mailing list