Bug 419657 - Problem building from master branch on Kubuntu 18.04
Summary: Problem building from master branch on Kubuntu 18.04
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Plasma
Component: application (show other bugs)
Version: 0.9.10
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-05 05:15 UTC by Jonathan Chun
Modified: 2020-04-05 07:39 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.9.11
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Chun 2020-04-05 05:15:22 UTC
SUMMARY


STEPS TO REPRODUCE
1. Install all prerequisites (Everything I installed is listed in here: https://github.com/Jonchun/macify-linux/blob/1286ed3dbf1b928634f221c7c29942a6353e9e75/macifylinux/modules/lattedock.py#L12)
2. git clone https://github.com/KDE/latte-dock.git
3. cd latte-dock
4. ./install.sh

OBSERVED RESULT
```
[ 14%] Building CXX object app/CMakeFiles/latte-dock.dir/wm/waylandinterface.cpp.o
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp: In member function ‘bool Latte::WindowSystem::WaylandInterface::isAcceptableWindow(const KWayland::Client::PlasmaWindow*)’:
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:794:31: error: ‘const class KWayland::Client::PlasmaWindow’ has no member named ‘skipSwitcher’
     bool hasSkipSwitcher = w->skipSwitcher();
                               ^~~~~~~~~~~~
app/CMakeFiles/latte-dock.dir/build.make:1685: recipe for target 'app/CMakeFiles/latte-dock.dir/wm/waylandinterface.cpp.o' failed
make[2]: *** [app/CMakeFiles/latte-dock.dir/wm/waylandinterface.cpp.o] Error 1
CMakeFiles/Makefile2:533: recipe for target 'app/CMakeFiles/latte-dock.dir/all' failed
make[1]: *** [app/CMakeFiles/latte-dock.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
```

If I tried git checkout v0.9.10, It gets further along in the build process % wise, but then fails out with the same error.
```
[ 73%] Building CXX object app/CMakeFiles/latte-dock.dir/wm/waylandinterface.cpp.o
In file included from /home/jchun/sources/latte-dock/app/wm/abstractwindowinterface.h:27:0,
                 from /home/jchun/sources/latte-dock/app/wm/waylandinterface.h:26,
                 from /home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:21:
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h: In copy constructor ‘Latte::WindowSystem::WindowInfoWrap::WindowInfoWrap(const Latte::WindowSystem::WindowInfoWrap&)’:
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:264:17: warning: ‘Latte::WindowSystem::WindowInfoWrap::m_activities’ will be initialized after [-Wreorder]
     QStringList m_activities;
                 ^~~~~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:259:13: warning:   ‘QString Latte::WindowSystem::WindowInfoWrap::m_display’ [-Wreorder]
     QString m_display;
             ^~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:64:5: warning:   when initialized here [-Wreorder]
     WindowInfoWrap(const WindowInfoWrap &o) noexcept
     ^~~~~~~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h: In constructor ‘Latte::WindowSystem::WindowInfoWrap::WindowInfoWrap(Latte::WindowSystem::WindowInfoWrap&&)’:
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:264:17: warning: ‘Latte::WindowSystem::WindowInfoWrap::m_activities’ will be initialized after [-Wreorder]
     QStringList m_activities;
                 ^~~~~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:259:13: warning:   ‘QString Latte::WindowSystem::WindowInfoWrap::m_display’ [-Wreorder]
     QString m_display;
             ^~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/windowinfowrap.h:94:5: warning:   when initialized here [-Wreorder]
     WindowInfoWrap(WindowInfoWrap &&o) noexcept
     ^~~~~~~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp: In member function ‘virtual void Latte::WindowSystem::WaylandInterface::setWindowOnActivities(QWindow&, const QStringList&)’:
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:318:55: warning: unused parameter ‘window’ [-Wunused-parameter]
 void WaylandInterface::setWindowOnActivities(QWindow &window, const QStringList &activities)
                                                       ^~~~~~
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:318:82: warning: unused parameter ‘activities’ [-Wunused-parameter]
 void WaylandInterface::setWindowOnActivities(QWindow &window, const QStringList &activities)
                                                                                  ^~~~~~~~~~
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp: In member function ‘virtual void Latte::WindowSystem::WaylandInterface::requestMoveWindow(Latte::WindowSystem::WindowId, QPoint) const’:
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:592:63: warning: unused parameter ‘from’ [-Wunused-parameter]
 void WaylandInterface::requestMoveWindow(WindowId wid, QPoint from) const
                                                               ^~~~
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp: In member function ‘virtual void Latte::WindowSystem::WaylandInterface::requestToggleIsOnAllDesktops(Latte::WindowSystem::WindowId) const’:
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:605:62: warning: unused parameter ‘wid’ [-Wunused-parameter]
 void WaylandInterface::requestToggleIsOnAllDesktops(WindowId wid) const
                                                              ^~~
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp: In member function ‘bool Latte::WindowSystem::WaylandInterface::isValidWindow(const KWayland::Client::PlasmaWindow*) const’:
/home/jchun/sources/latte-dock/app/wm/waylandinterface.cpp:691:31: error: ‘const class KWayland::Client::PlasmaWindow’ has no member named ‘skipSwitcher’
     bool hasSkipSwitcher = w->skipSwitcher();
                               ^~~~~~~~~~~~
app/CMakeFiles/latte-dock.dir/build.make:1301: recipe for target 'app/CMakeFiles/latte-dock.dir/wm/waylandinterface.cpp.o' failed
```

EXPECTED RESULT
It should build lattedock

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.12.9
KDE Frameworks Version: 5.44.0
Qt Version: 5.9.5

ADDITIONAL INFORMATION
apt show libkf5wayland-dev
Package: libkf5wayland-dev
Version: 4:5.44.0-0ubuntu1
Priority: optional
Section: universe/libdevel
Source: kwayland

According to https://github.com/KDE/latte-dock/blob/6e09bb5/README.md, building latte-dock requires KF5Wayland >= 5.38.0. The above shows it at 5.44 and is the only suspicious looking package in the requirements compared to the error message. To be honest I'm not sure what the 4: means.
Comment 1 Michail Vourlakos 2020-04-05 07:39:11 UTC
Git commit c6a83937fae233b3cf71d0691997dcc6c59e1a8b by Michail Vourlakos.
Committed on 05/04/2020 at 07:37.
Pushed by mvourlakos into branch 'v0.9'.

fix 5.38 compatibility for wayland case

FIXED-IN:0.9.11

M  +5    -2    app/wm/waylandinterface.cpp

https://commits.kde.org/latte-dock/c6a83937fae233b3cf71d0691997dcc6c59e1a8b