mattkae / miracle-wm

Miracle is a Wayland tiling window manager built on Mir

Home Page:https://mattkae.github.io/miracle-wm-wiki/latest/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compilation error: target pattern contains no '%'. Stop.

AngryPenguinPL opened this issue · comments

Hi.

I'm trying to compile Miracle-wm 0.2.1 for OpenMandriva Cooker.
And I have the following problem.

Info
Miracle-WM 0.2.1
Mir 2.17.0
OS: OpenMandriva Cooker
Compiler: LLVM 18.1.5
Linker: LLD 18.1.5

make[2]: Leaving directory '/builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/build'
DEBUG util.py:461:  tests/CMakeFiles/miracle-wm-tests.dir/build.make:114: *** target pattern contains no '%'.  Stop.
DEBUG util.py:461:  make[1]: *** [CMakeFiles/Makefile2:184: tests/CMakeFiles/miracle-wm-tests.dir/all] Error 2
DEBUG util.py:461:  make[1]: *** Waiting for unfinished jobs....

and then

/builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/src/main.cpp:89:(.text+0x33c): undefined reference to `miracle::MiracleConfig::try_process_change()'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o: in function `std::_Function_handler<void (), main::{lambda()#3}>::_M_invoke(std::_Any_data const&)':
DEBUG util.py:461:  /builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/src/main.cpp:63:(.text+0xede): undefined reference to `miracle::MiracleConfig::get_startup_apps() const'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o:/builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/src/main.cpp:65:(.text+0xefa): undefined reference to `miracle::AutoRestartingLauncher::launch(miracle::StartupApp const&)'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o: in function `std::_Function_handler<std::unique_ptr<miral::WindowManagementPolicy, std::default_delete<miral::WindowManagementPolicy> > (miral::WindowManagerTools const&), miral::add_window_manager_policy<miracle::Policy, miral::ExternalClientLauncher, miral::MirRunner, std::shared_ptr<miracle::MiracleConfig> >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, miral::ExternalClientLauncher&, miral::MirRunner&, std::shared_ptr<miracle::MiracleConfig>&)::{lambda(miral::WindowManagerTools const&)#1}>::_M_invoke(std::_Any_data const&, miral::WindowManagerTools const&)':
DEBUG util.py:461:  /usr/include/c++/14.1.0/bits/unique_ptr.h:1076:(.text+0xf70): undefined reference to `miracle::Policy::Policy(miral::WindowManagerTools const&, miral::ExternalClientLauncher const&, miral::MirRunner&, std::shared_ptr<miracle::MiracleConfig> const&)'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o: in function `main':
DEBUG util.py:461:  /builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/src/main.cpp:46:(.text.startup+0xba): undefined reference to `miracle::AutoRestartingLauncher::AutoRestartingLauncher(miral::MirRunner&, miral::ExternalClientLauncher&)'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o: in function `main':
DEBUG util.py:461:  /usr/include/c++/14.1.0/bits/stl_construct.h:118:(.text.startup+0xf6): undefined reference to `miracle::MiracleConfig::MiracleConfig(miral::MirRunner&)'
DEBUG util.py:461:  /usr/bin/x86_64-openmandriva-linux-gnu-ld.bfd: /tmp/ccUWyzKN.ltrans0.ltrans.o: in function `main':
DEBUG util.py:461:  /builddir/build/BUILD/miracle-wm-0.2.1-build/miracle-wm-0.2.1/src/main.cpp:48:(.text.startup+0x108): undefined reference to `miracle::MiracleConfig::get_env_variables() const'
DEBUG util.py:461:  collect2: error: ld returned 1 exit status

Full build log: https://file-store.openmandriva.org/api/v1/file_stores/ff5a95f83a12f7acae39f433939c359f77191d6b.log?show=true

Hi there 👋

That's interesting. I could try to spin up a VM later today to investigate. The CMakeLists.txt links miracle-wm to miracle-wm-implementation. It looks like the symbols from miracle-wm-implementation can't be resolved in main.cpp for whatever reason.