On kubuntu CI with Qt 5.7.1 build of current master fails with [ 98%] Linking CXX executable kdeplatformtheme_unittest cd /<<BUILDDIR>>/plasma-integration-5.8.5+p17.04+git20170119.0951/obj-x86_64-linux-gnu/autotests && /usr/bin/cmake -E cmake_link_script CMakeFiles/kdeplatformtheme_unittest.dir/link.txt --verbose=1 /usr/bin/c++ -g -O2 -fdebug-prefix-map=/<<BUILDDIR>>/plasma-integration-5.8.5+p17.04+git20170119.0951=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++0x -fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -pedantic -Wl,--enable-new-dtags -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed -Wl,--no-undefined CMakeFiles/kdeplatformtheme_unittest.dir/kdeplatformtheme_unittest.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformtheme.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kfontsettingsdata.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/khintssettings.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformfiledialoghelper.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformfiledialogbase.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformsystemtrayicon.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdirselectdialog.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kfiletreeview.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kwaylandintegration.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/x11integration.cpp.o CMakeFiles/kdeplatformtheme_unittest.dir/kdeplatformtheme_unittest_automoc.cpp.o -o kdeplatformtheme_unittest -rdynamic /usr/lib/x86_64-linux-gnu/libQt5Test.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5PlatformSupport.a /usr/lib/x86_64-linux-gnu/libKF5KIOFileWidgets.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5WaylandClient.so.5.31.0 /usr/lib/x86_64-linux-gnu/libxcb.so /usr/lib/x86_64-linux-gnu/libKF5KIOWidgets.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5KIOCore.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5JobWidgets.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5Service.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5Completion.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5Bookmarks.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5IconThemes.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5ConfigWidgets.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5ConfigGui.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5Auth.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5I18n.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5ItemViews.so.5.31.0 /usr/lib/x86_64-linux-gnu/libQt5Network.so.5.7.1 /usr/lib/x86_64-linux-gnu/libKF5Solid.so.5.31.0 /usr/lib/x86_64-linux-gnu/libQt5Xml.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5.7.1 /usr/lib/x86_64-linux-gnu/libKF5ConfigCore.so.5.31.0 /usr/lib/x86_64-linux-gnu/libKF5WindowSystem.so.5.31.0 /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5.7.1 /usr/lib/x86_64-linux-gnu/libKF5Codecs.so.5.31.0 /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5.7.1 /usr/lib/x86_64-linux-gnu/libKF5CoreAddons.so.5.31.0 /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.7.1 /usr/lib/x86_64-linux-gnu/libQt5Core.so.5.7.1 CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformtheme.cpp.o: In function `KdePlatformTheme::createPlatformMenuBar() const': ./obj-x86_64-linux-gnu/autotests/./src/platformtheme/kdeplatformtheme.cpp:333: undefined reference to `QDBusMenuBar::windowChanged(QWindow*, QWindow*)' collect2: error: ld returned 1 exit status autotests/CMakeFiles/kdeplatformtheme_unittest.dir/build.make:385: recipe for target 'autotests/kdeplatformtheme_unittest' failed make[4]: *** [autotests/kdeplatformtheme_unittest] Error 1 make[4]: Leaving directory '/<<BUILDDIR>>/plasma-integration-5.8.5+p17.04+git20170119.0951/obj-x86_64-linux-gnu' CMakeFiles/Makefile2:427: recipe for target 'autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all' failed make[3]: *** [autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all] Error 2 make[3]: *** Waiting for unfinished jobs....
This should be fixed with latest latest master. At least build.kde.org is green again for both master and Plasma/5.9
(In reply to Martin Gräßlin from comment #1) > This should be fixed with latest latest master. At least build.kde.org is > green again for both master and Plasma/5.9 No, not fixed herea as far as I can see. Your CI from it's build log says it has Qt 5.7.0 Found Qt5PlatformSupport: /srv/jenkins/install/ubuntu/x86_64/g++/kf5-qt5/qt5/inst/usr/lib/libQt5PlatformSupport.a (found version "5.7.0") while KCI has 5.7.1 as referenced in the bug title I'm not the greatest with this code, but seem as if this is being triggered for failure by code includes by the conditionals like #if QT_VERSION > QT_VERSION_CHECK(5,7,0) for example in kdeplatformtheme.cpp ? Hence it fails here with Qt 5.7.1, but does not on the KDE CI?
Git commit 184d8b4fa947726636a5251f333b80429001455b by David Edmundson. Committed on 20/01/2017 at 00:02. Pushed by davidedmundson into branch 'Plasma/5.9'. Enable QDBusMenuBar when compiling with Qt 5.7.0 M +2 -2 src/platformtheme/kdeplatformtheme.cpp M +1 -1 src/platformtheme/kdeplatformtheme.h https://commits.kde.org/plasma-integration/184d8b4fa947726636a5251f333b80429001455b
Yep, you're right. Hopefully fixed.
(In reply to David Edmundson from comment #4) > Yep, you're right. Hopefully fixed. Afraid not. That tweak to logic just makes it fail with Qt 5.7.0 on KDE CI in the same way it does with Qt 5.7.1 on kubuntu CI. The original issue/failure remains. Now from you CI log: 00:05:15 Linking CXX executable kdeplatformtheme_unittest 00:05:15 CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformtheme.cpp.o: In function `KdePlatformTheme::createPlatformMenuBar() const': 00:05:15 /home/jenkins/sources/plasma-integration/kf5-qt5/src/platformtheme/kdeplatformtheme.cpp:362: undefined reference to `QDBusMenuBar::windowChanged(QWindow*, QWindow*)' 00:05:15 collect2: error: ld returned 1 exit status 00:05:15 autotests/CMakeFiles/kdeplatformtheme_unittest.dir/build.make:362: recipe for target 'autotests/kdeplatformtheme_unittest' failed 00:05:15 make[2]: *** [autotests/kdeplatformtheme_unittest] Error 1 00:05:15 CMakeFiles/Makefile2:222: recipe for target 'autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all' failed 00:05:15 make[1]: *** [autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all] Error 2
Same failure now on Neon CI. http://build.neon.kde.org/job/xenial_unstable_plasma_plasma-integration_bin_amd64/67/consoleFull 13:43:33 CMakeFiles/kdeplatformtheme_unittest.dir/__/src/platformtheme/kdeplatformtheme.cpp.o: In function `KdePlatformTheme::createPlatformMenuBar() const': 13:43:33 /workspace/build/src/platformtheme/kdeplatformtheme.cpp:333: undefined reference to `QDBusMenuBar::windowChanged(QWindow*, QWindow*)' 13:43:33 collect2: error: ld returned 1 exit status 13:43:33 autotests/CMakeFiles/kdeplatformtheme_unittest.dir/build.make:385: recipe for target 'autotests/kdeplatformtheme_unittest' failed 13:43:33 make[4]: *** [autotests/kdeplatformtheme_unittest] Error 1 13:43:33 make[4]: Leaving directory '/workspace/build/obj-x86_64-linux-gnu' 13:43:33 CMakeFiles/Makefile2:427: recipe for target 'autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all' failed 13:43:33 make[3]: *** [autotests/CMakeFiles/kdeplatformtheme_unittest.dir/all] Error 2 13:43:33 make[3]: Leaving directory '/workspace/build/obj-x86_64-linux-gnu' 13:43:33 Makefile:141: recipe for target 'all' failed 13:43:33 make[2]: *** [all] Error 2
QDBusMenuBar::windowChanged is not part of either Qt 5.7 or Qt 5.8. https://phabricator.kde.org/D3085 says there is a fork of QDBusMenuBar included, but I do not see it committed.
Sorry, actually it is committed, so the issue is that the build system does not pick the local qdbusmenubar_p.h header.
New rebuilds suggest this has been fixed in https://cgit.kde.org/plasma-integration.git/commit/?id=026277d1f0e383ac759c4f931f3fd04af11002ba