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: [email protected]
Reporter: [email protected]
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.