https://bugs.kde.org/show_bug.cgi?id=423052
Bug ID: 423052 Summary: [FTBFS]: kwin on f33 / s390x Product: kwin Version: 5.19.0 Platform: Other OS: Linux Status: REPORTED Severity: normal Priority: NOR Component: general Assignee: kwin-bugs-n...@kde.org Reporter: sine.nom...@centrum.cz Target Milestone: --- SUMMARY kwin 5.19 fails to build on rawhide / s390x. The reason is: /usr/bin/ld: CMakeFiles/kwin.dir/input.cpp.o: in function `KWin::TabletInputFilter::tabletToolEvent(KWin::TabletEvent*)::{lambda(KWaylandServer::TabletCursor*)#2}::operator()(KWaylandServer::TabletCursor*) const::{lambda()#1}::operator()() const': /builddir/build/BUILD/kwin-5.19.0/input.cpp:1672: undefined reference to `void KWin::WaylandCursorImage::loadThemeCursor<KWin::CursorShape>(KWin::CursorShape const&, KWin::WaylandCursorImage::Image*)' collect2: error: ld returned 1 exit status make[2]: *** [CMakeFiles/kwin.dir/build.make:2339: bin/libkwin.so.5.19.0] Error 1 make[2]: Leaving directory '/builddir/build/BUILD/kwin-5.19.0/s390x-redhat-linux-gnu' make[1]: *** [CMakeFiles/Makefile2:4330: CMakeFiles/kwin.dir/all] Error 2 make: *** [Makefile:164: all] Error 2 full log: https://kojipkgs.fedoraproject.org//work/tasks/7168/45747168/build.log First time I saw this issue was woth 5.18.90 (5.19 beta). Since then, it fails consistently. This problem does not happen on older kwin releases nor on other architectures. .... Dan Horák 2020-06-15 15:58:41 UTC So either this is a code bug (some incorrect template usage) or we have a g++ bug. I have reproduced the failure on ppc64le by adding the options s390x is using for aggressive inlining (--param=inline-min-speedup=2 --param=max-inline-insns-auto=80). ... Jonathan Wakely 2020-06-16 09:09:43 UTC Like I said, "the definitions actually rely on something else that is only declared in the pointer_input.cpp file". If they don't want to declare KWayland in the header file then they'll need to add explicit instantiation declarations to the header for the specializations that are actually used (at least KWin::WaylandCursorImage::loadThemeCursor<KWin::CursorShape>) and then explicitly instantiate that in the .cpp file. Either way, the upstream code is not valid C++ and that's why GCC doesn't build it. ... https://bugzilla.redhat.com/show_bug.cgi?id=1847014 STEPS TO REPRODUCE 1. see the referenced downstream bug 2. 3. OBSERVED RESULT EXPECTED RESULT SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: Qt Version: ADDITIONAL INFORMATION -- You are receiving this mail because: You are watching all bug changes.