Bug 420210 - Cmake Fatal Error: app/settings/dialogs/settingsdialog.cpp:35:10: fatal error: ../../liblatte2/types.h: No such file or directory
Summary: Cmake Fatal Error: app/settings/dialogs/settingsdialog.cpp:35:10: fatal error...
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Unmaintained
Component: application (other bugs)
Version First Reported In: git (master)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-17 18:22 UTC by FlyingWaffle
Modified: 2020-04-18 16:34 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
failed build's log (166.95 KB, text/x-log)
2020-04-17 18:22 UTC, FlyingWaffle
Details

Note You need to log in before you can comment on or make changes to this bug.
Description FlyingWaffle 2020-04-17 18:22:39 UTC
Created attachment 127618 [details]
failed build's log

When building latte-dock and the build directory is placed outside the source directory (as is apparently default for Gentoo) a fatal error is encountered.
Specifically ../../liblatte2/types.h is not accessible from an outside build directory.

See also: https://bugs.gentoo.org/717910
According to the Gentoo repo maintainers this is an upstream issue, I disagree but am filing this bug report anyway just in case.


STEPS TO REPRODUCE
1. Make build directory outside source directory.
2. Build.
(Or just use the Gentoo ebuild for git version of latte-dock and try installing it).


OBSERVED RESULT
Build fails.

EXPECTED RESULT
Build succeeds.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo 5.6.4 - 64bit
KDE Plasma Version: 5.18.4
KDE Frameworks Version: 5.69.0
Qt Version: 5.14.2

ADDITIONAL INFORMATION
I think this is due to a hardcoded relative file dependency that only becomes an issue if the build directory is not inside the source directory.
Failed build's log is attached, but I don't know how useful it will be due to the problem's rather specific nature.
Comment 1 Michail Vourlakos 2020-04-17 18:38:29 UTC
I suppose Latte types should become global somehow...
No idea how and no time to investigate this.
Comment 2 Michail Vourlakos 2020-04-18 11:03:38 UTC
Git commit 50739393353bd3c6f5e9114f787aaaab1fcbe2db by Michail Vourlakos.
Committed on 18/04/2020 at 10:39.
Pushed by mvourlakos into branch 'master'.

REFACTOR:split up and refactor liblatte2 and types

--use a more logical organization for types. LibLatte2
is split to become LatteCore library and Latte types
are now moved to application level. The Latte Types will
be split even more... Tasks-Only related types will
become Latte.Tasks types

M  +0    -1    CMakeLists.txt
D  +0    -0    StickIcon.qml
M  +2    -2    app/CMakeLists.txt
M  +1    -1    app/indicator/factory.h
M  +1    -1    app/lattecorona.h
M  +1    -1    app/layout/abstractlayout.h
M  +1    -1    app/layout/centrallayout.cpp
M  +1    -1    app/layout/genericlayout.h
M  +1    -1    app/layouts/importer.cpp
M  +1    -1    app/layouts/launcherssignals.h
M  +3    -1    app/main.cpp
M  +1    -1    app/plasma/extended/screengeometries.h
M  +1    -1    app/plasma/extended/theme.cpp
M  +1    -1    app/settings/controllers/layoutscontroller.h
M  +1    -1    app/settings/data/layoutdata.h
M  +1    -1    app/settings/data/preferencesdata.h
M  +1    -1    app/settings/dialogs/settingsdialog.cpp
M  +1    -1    app/settings/dialogs/settingsdialog.h
M  +1    -1    app/settings/handlers/detailsinfohandler.cpp
M  +1    -1    app/settings/handlers/tablayoutshandler.cpp
M  +1    -1    app/settings/handlers/tabpreferenceshandler.cpp
M  +1    -1    app/settings/universalsettings.h
M  +1    -1    app/settings/widgets/patternwidget.cpp
M  +1    -1    app/shortcuts/globalshortcuts.h
A  +5    -0    app/tools/CMakeLists.txt
C  +0    -0    app/tools/commontools.cpp [from: liblatte2/commontools.cpp - 100% similarity]
C  +0    -0    app/tools/commontools.h [from: liblatte2/commontools.h - 100% similarity]
A  +5    -0    app/types/CMakeLists.txt
R  +0    -0    app/types/types.cpp [from: liblatte2/types.cpp - 100% similarity]
R  +0    -0    app/types/types.h [from: liblatte2/types.h - 100% similarity]
M  +1    -1    app/view/effects.cpp
M  +1    -1    app/view/indicator/indicator.cpp
M  +1    -1    app/view/positioner.cpp
M  +1    -1    app/view/settings/primaryconfigview.h
M  +1    -1    app/view/settings/secondaryconfigview.h
M  +0    -1    app/view/view.cpp
M  +1    -1    app/view/view.h
M  +0    -1    app/view/visibilitymanager.cpp
M  +1    -1    app/view/visibilitymanager.h
M  +2    -2    app/wm/abstractwindowinterface.h
M  +0    -1    app/wm/tracker/windowstracker.cpp
M  +1    -1    app/wm/tracker/windowstracker.h
M  +1    -2    app/wm/waylandinterface.cpp
M  +2    -3    app/wm/xwindowinterface.cpp
M  +29   -28   containment/package/contents/ui/PanelBox.qml
M  +17   -16   containment/package/contents/ui/VisibilityManager.qml
M  +2    -1    containment/package/contents/ui/applet/HiddenSpacer.qml
M  +2    -1    containment/package/contents/ui/applet/ItemWrapper.qml
M  +2    -1    containment/package/contents/ui/applet/communicator/Actions.qml
M  +4    -3    containment/package/contents/ui/colorizer/Manager.qml
M  +2    -1    containment/package/contents/ui/editmode/HeaderSettings.qml
M  +5    -4    containment/package/contents/ui/editmode/Visual.qml
M  +4    -2    containment/package/contents/ui/layouts/LayoutsContainer.qml
M  +22   -21   containment/package/contents/ui/main.qml
M  +25   -10   containmentactions/contextmenu/menu.cpp
M  +2    -0    declarativeimports/CMakeLists.txt
R  +7    -8    declarativeimports/core/CMakeLists.txt [from: liblatte2/CMakeLists.txt - 061% similarity]
R  +5    -7    declarativeimports/core/backgroundtracker.cpp [from: liblatte2/backgroundtracker.cpp - 082% similarity]
R  +3    -4    declarativeimports/core/backgroundtracker.h [from: liblatte2/backgroundtracker.h - 095% similarity]
R  +0    -0    declarativeimports/core/commontools.cpp [from: liblatte2/commontools.cpp - 100% similarity]
R  +0    -0    declarativeimports/core/commontools.h [from: liblatte2/commontools.h - 100% similarity]
A  +16   -0    declarativeimports/core/config-latte-lib.h.cmake
R  +0    -0    declarativeimports/core/environment.cpp [from: liblatte2/environment.cpp - 100% similarity]
R  +0    -0    declarativeimports/core/environment.h [from: liblatte2/environment.h - 100% similarity]
R  +0    -0    declarativeimports/core/extras.cpp [from: liblatte2/extras.cpp - 100% similarity]
R  +1    -1    declarativeimports/core/extras.h [from: liblatte2/extras.h - 098% similarity]
R  +1    -1    declarativeimports/core/iconitem.cpp [from: liblatte2/iconitem.cpp - 099% similarity]
R  +0    -0    declarativeimports/core/iconitem.h [from: liblatte2/iconitem.h - 100% similarity]
R  +3    -5    declarativeimports/core/lattecoreplugin.cpp [from: liblatte2/latteplugin.cpp - 084% similarity]
R  +3    -3    declarativeimports/core/lattecoreplugin.h [from: liblatte2/latteplugin.h - 090% similarity]
R  +2    -2    declarativeimports/core/plasma/extended/CMakeLists.txt [from: liblatte2/plasma/extended/CMakeLists.txt - 069% similarity]
R  +6    -5    declarativeimports/core/plasma/extended/backgroundcache.cpp [from: liblatte2/plasma/extended/backgroundcache.cpp - 098% similarity]
R  +4    -4    declarativeimports/core/plasma/extended/backgroundcache.h [from: liblatte2/plasma/extended/backgroundcache.h - 093% similarity]
R  +0    -0    declarativeimports/core/plasma/extended/screenpool.cpp [from: liblatte2/plasma/extended/screenpool.cpp - 100% similarity]
R  +0    -0    declarativeimports/core/plasma/extended/screenpool.h [from: liblatte2/plasma/extended/screenpool.h - 100% similarity]
A  +2    -0    declarativeimports/core/qmldir
R  +0    -3    declarativeimports/core/quickwindowsystem.cpp [from: liblatte2/quickwindowsystem.cpp - 098% similarity]
R  +0    -0    declarativeimports/core/quickwindowsystem.h [from: liblatte2/quickwindowsystem.h - 100% similarity]
M  +4    -3    indicators/default/package/ui/main.qml
D  +0    -6    liblatte2/config-latte-lib.h.cmake
D  +0    -2    liblatte2/qmldir
M  +4    -3    plasmoid/package/contents/ui/ContextMenu.qml
M  +7    -6    plasmoid/package/contents/ui/main.qml
M  +5    -4    plasmoid/package/contents/ui/previews/ToolTipInstance.qml
M  +3    -3    plasmoid/package/contents/ui/previews/ToolTipWindowMouseArea.qml
M  +2    -1    plasmoid/package/contents/ui/task/AudioStream.qml
M  +2    -1    plasmoid/package/contents/ui/task/HiddenSpacer.qml
M  +3    -2    plasmoid/package/contents/ui/task/IconItem.qml
M  +12   -11   plasmoid/package/contents/ui/task/TaskItem.qml
M  +2    -2    plasmoid/package/contents/ui/task/Wrapper.qml
M  +4    -3    plasmoid/package/contents/ui/task/animations/RealRemovalAnimation.qml
M  +2    -1    plasmoid/package/contents/ui/task/animations/RemoveWindowFromGroupAnimation.qml
M  +5    -4    plasmoid/package/contents/ui/task/animations/ShowWindowAnimation.qml
M  +5    -4    shell/package/contents/configuration/LatteDockConfiguration.qml
M  +3    -2    shell/package/contents/configuration/LatteDockSecondaryConfiguration.qml
M  +9    -8    shell/package/contents/configuration/pages/AppearanceConfig.qml
M  +2    -1    shell/package/contents/configuration/pages/TasksConfig.qml
M  +2    -1    shell/package/contents/scripting/BackgroundTracer.qml
M  +2    -1    shell/package/contents/views/InfoView.qml

https://commits.kde.org/latte-dock/50739393353bd3c6f5e9114f787aaaab1fcbe2db
Comment 3 Michail Vourlakos 2020-04-18 11:04:24 UTC
please test again, a MAJOR MAJOR refactor takes place these days for Latte git version, I believe that this should be now fixed.
Comment 4 FlyingWaffle 2020-04-18 16:34:33 UTC
Tested again; can confirm it is fixed!