Repository navigation
Description
Validation
- I have checked the Issues page to see if my problem has already been reported
- I have confirmed that this bug does not occur in the original game running on original Xbox 360 hardware
DLC
- Additional Episode "Sonic Boss Attack"
- Additional Episode "Shadow Boss Attack"
- Additional Episode "Silver Boss Attack"
- Additional Episode "Team Attack Amigo"
- Additional Mission Pack "Sonic/Very Hard"
- Additional Mission Pack "Shadow/Very Hard"
- Additional Mission Pack "Silver/Very Hard"
Mods
No response
Codes
No response
Describe the Bug
I tried building MarathonRecomp on my laptop running Kubuntu, but whenever I try to compile it I always get the same error related to the file game_window.cpp
Steps to Reproduce
- Compile the project using
cmake --build ./out/build/linux-release --target MarathonRecomp
Expected Behavior
Successful build of MarathonRecomp.
Footage
No response
Specifications
- CPU: Intel Core i5 1335U
- GPU: Intel Iris Xe
- GPU Driver: i915
- OS: Kubuntu
- Version: 26.04
Additional Context
Error message:
[789/822] Building CXX object MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o
FAILED: [code=1] MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o
/usr/bin/clang++ -DCURL_STATICLIB -DMSDFGEN_COPYRIGHT_YEAR=2026 -DMSDFGEN_DISABLE_PNG -DMSDFGEN_DISABLE_SVG -DMSDFGEN_EXTENSIONS -DMSDFGEN_EXT_PUBLIC="" -DMSDFGEN_PUBLIC="" -DMSDFGEN_USE_CPP11 -DMSDFGEN_VERSION=1.12.0 -DMSDFGEN_VERSION_MAJOR=1 -DMSDFGEN_VERSION_MINOR=12 -DMSDFGEN_VERSION_REVISION=0 -DMSDF_ATLAS_COPYRIGHT_YEAR=2026 -DMSDF_ATLAS_NO_ARTERY_FONT -DMSDF_ATLAS_PUBLIC="" -DMSDF_ATLAS_VERSION=1.3.0 -DMSDF_ATLAS_VERSION_MAJOR=1 -DMSDF_ATLAS_VERSION_MINOR=3 -DMSDF_ATLAS_VERSION_REVISION=0 -DPLUME_SDL_VULKAN_ENABLED -DSDL_MAIN_HANDLED -D_CRT_SECURE_NO_WARNINGS -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -I/home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecomp -I/home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecomp/api -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/concurrentqueue -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/ddspp -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/imgui -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/implot -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/json/include -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/magic_enum/include -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/stb -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/unordered_dense/include -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/bc_diff -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenosRecomp/thirdparty/smol-v/source -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/vcpkg_installed/x64-linux/lib/pkgconfig/../../include -I/usr/include/libmount -I/usr/include/blkid -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/thirdparty/fmt/include -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenosRecomp/thirdparty/zstd/build/cmake/../../lib -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/msdf-atlas-gen -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/msdf-atlas-gen/msdfgen -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/nativefiledialog-extended/src/include -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/o1heap/. -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/XenonUtils/. -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/thirdparty/simde -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/thirdparty/disasm/. -I/home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include -I/home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include/SDL2 -I/home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include-config-release/SDL2 -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/SDL_mixer/include -I/home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecompLib -I/home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/thirdparty/xxHash/cmake_unofficial/.. -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/plume -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/plume/contrib/volk -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/plume/contrib/Vulkan-Headers/include -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/plume/contrib/VulkanMemoryAllocator/include -I/home/copycat2004/Games/Linux/MarathonRecomp/thirdparty/ffmpeg-core/include -isystem /home/copycat2004/Games/Linux/MarathonRecomp/tools/XenonRecomp/thirdparty/tomlplusplus/include -isystem /home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/vcpkg_installed/x64-linux/include -fPIC -O3 -DNDEBUG -std=gnu++20 -flto=thin -fPIE -march=sandybridge -fno-strict-aliasing -Wno-switch -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-void-pointer-to-int-cast -Wno-int-to-void-pointer-cast -Wno-invalid-offsetof -Wno-null-arithmetic -Wno-null-conversion -Wno-tautological-undefined-compare -ffp-model=strict -Winvalid-pch -Xclang -include-pch -Xclang /home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/MarathonRecomp/CMakeFiles/MarathonRecomp.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/copycat2004/Games/Linux/MarathonRecomp/out/build/linux-release/MarathonRecomp/CMakeFiles/MarathonRecomp.dir/cmake_pch.hxx -MD -MT MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o -MF MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o.d -o MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o -c /home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecomp/ui/game_window.cpp
/home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecomp/ui/game_window.cpp:172:9: error: expected unqualified-id
172 | LOGFN("SDL video driver: "{}"", videoDriverName);
| ^
/home/copycat2004/Games/Linux/MarathonRecomp/MarathonRecomp/os/logger.h:42:43: note: expanded from macro 'LOGFN'
42 | #define LOGFN(str, ...) LOGF_IMPL(None, "", str, VA_ARGS)
| ^
/usr/include/X11/X.h:115:30: note: expanded from macro 'None'
115 | #define None 0L / universal null resource or null atom */
| ^
1 error generated.
Activity
Brony666 commentedon Jun 5, 2026
same issue.
CPU: AMD Ryzen 5 5600x
GPU: RX 6600
GPU Driver: Mesa 26.0.6
OS: CachyOS
[803/831] Building CXX object MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o
FAILED: [code=1] MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o
/usr/bin/clang++ -DCURL_STATICLIB -DMSDFGEN_COPYRIGHT_YEAR=2026 -DMSDFGEN_DISABLE_PNG -DMSDFGEN_DISABLE_SVG -DMSDFGEN_EXTENSIONS -DMSDFGEN_EXT_PUBLIC="" -DMSDFGEN_PUBLIC="" -DMSDFGEN_USE_CPP11 -DMSDFGEN_VERSION=1.12.0 -DMSDFGEN_VERSION_MAJOR=1 -DMSDFGEN_VERSION_MINOR=12 -DMSDFGEN_VERSION_REVISION=0 -DMSDF_ATLAS_COPYRIGHT_YEAR=2026 -DMSDF_ATLAS_NO_ARTERY_FONT -DMSDF_ATLAS_PUBLIC="" -DMSDF_ATLAS_VERSION=1.3.0 -DMSDF_ATLAS_VERSION_MAJOR=1 -DMSDF_ATLAS_VERSION_MINOR=3 -DMSDF_ATLAS_VERSION_REVISION=0 -DPLUME_SDL_VULKAN_ENABLED -DSDL_MAIN_HANDLED -D_CRT_SECURE_NO_WARNINGS -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -I/home/leonef/MarathonRecomp/MarathonRecomp -I/home/leonef/MarathonRecomp/MarathonRecomp/api -I/home/leonef/MarathonRecomp/thirdparty/concurrentqueue -I/home/leonef/MarathonRecomp/thirdparty/ddspp -I/home/leonef/MarathonRecomp/thirdparty/imgui -I/home/leonef/MarathonRecomp/thirdparty/implot -I/home/leonef/MarathonRecomp/thirdparty/json/include -I/home/leonef/MarathonRecomp/thirdparty/magic_enum/include -I/home/leonef/MarathonRecomp/thirdparty/stb -I/home/leonef/MarathonRecomp/thirdparty/unordered_dense/include -I/home/leonef/MarathonRecomp/tools/bc_diff -I/home/leonef/MarathonRecomp/tools/XenosRecomp/thirdparty/smol-v/source -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/home/leonef/MarathonRecomp/out/build/linux-release/vcpkg_installed/x64-linux/lib/pkgconfig/../../include -I/usr/include/libmount -I/usr/include/blkid -I/home/leonef/MarathonRecomp/tools/XenonRecomp/thirdparty/fmt/include -I/home/leonef/MarathonRecomp/tools/XenosRecomp/thirdparty/zstd/build/cmake/../../lib -I/home/leonef/MarathonRecomp/thirdparty/msdf-atlas-gen -I/home/leonef/MarathonRecomp/thirdparty/msdf-atlas-gen/msdfgen -I/home/leonef/MarathonRecomp/thirdparty/nativefiledialog-extended/src/include -I/home/leonef/MarathonRecomp/thirdparty/o1heap/. -I/home/leonef/MarathonRecomp/tools/XenonRecomp/XenonUtils/. -I/home/leonef/MarathonRecomp/tools/XenonRecomp/thirdparty/simde -I/home/leonef/MarathonRecomp/tools/XenonRecomp/thirdparty/disasm/. -I/home/leonef/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include -I/home/leonef/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include/SDL2 -I/home/leonef/MarathonRecomp/out/build/linux-release/thirdparty/SDL/include-config-release/SDL2 -I/home/leonef/MarathonRecomp/thirdparty/SDL_mixer/include -I/home/leonef/MarathonRecomp/MarathonRecompLib -I/home/leonef/MarathonRecomp/tools/XenonRecomp/thirdparty/xxHash/cmake_unofficial/.. -I/home/leonef/MarathonRecomp/thirdparty/plume -I/home/leonef/MarathonRecomp/thirdparty/plume/contrib/volk -I/home/leonef/MarathonRecomp/thirdparty/plume/contrib/Vulkan-Headers/include -I/home/leonef/MarathonRecomp/thirdparty/plume/contrib/VulkanMemoryAllocator/include -I/home/leonef/MarathonRecomp/thirdparty/ffmpeg-core/include -isystem /home/leonef/MarathonRecomp/tools/XenonRecomp/thirdparty/tomlplusplus/include -isystem /home/leonef/MarathonRecomp/out/build/linux-release/vcpkg_installed/x64-linux/include -fPIC -O3 -DNDEBUG -std=gnu++20 -flto=thin -fPIE -march=sandybridge -fno-strict-aliasing -Wno-switch -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-void-pointer-to-int-cast -Wno-int-to-void-pointer-cast -Wno-invalid-offsetof -Wno-null-arithmetic -Wno-null-conversion -Wno-tautological-undefined-compare -ffp-model=strict -Winvalid-pch -Xclang -include-pch -Xclang /home/leonef/MarathonRecomp/out/build/linux-release/MarathonRecomp/CMakeFiles/MarathonRecomp.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/leonef/MarathonRecomp/out/build/linux-release/MarathonRecomp/CMakeFiles/MarathonRecomp.dir/cmake_pch.hxx -MD -MT MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o -MF MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o.d -o MarathonRecomp/CMakeFiles/MarathonRecomp.dir/ui/game_window.cpp.o -c /home/leonef/MarathonRecomp/MarathonRecomp/ui/game_window.cpp
/home/leonef/MarathonRecomp/MarathonRecomp/ui/game_window.cpp:172:9: error: expected unqualified-id
172 | LOGFN("SDL video driver: "{}"", videoDriverName);
| ^
/home/leonef/MarathonRecomp/MarathonRecomp/os/logger.h:42:43: note: expanded from macro 'LOGFN'
42 | #define LOGFN(str, ...) LOGF_IMPL(None, "", str, VA_ARGS)
| ^
/usr/include/X11/X.h:115:30: note: expanded from macro 'None'
115 | #define None 0L / universal null resource or null atom */
| ^
1 error generated.
[811/831] Building CXX object MarathonRecomp/CMakeFiles/MarathonRecomp.dir/__/thirdparty/implot/implot_items.cpp.o
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot_items.cpp:28:
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot.h:48:
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:2973:43: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImDrawListSplitter' [-Wnontrivial-memcall]
2973 | inline ImDrawListSplitter() { memset(this, 0, sizeof(this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:2973:43: note: explicitly cast the pointer to silence this warning
2973 | inline ImDrawListSplitter() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:3044:60: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImDrawList' [-Wnontrivial-memcall]
3044 | ImDrawList(ImDrawListSharedData shared_data) { memset(this, 0, sizeof(this)); _Data = shared_data; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:3044:60: note: explicitly cast the pointer to silence this warning
3044 | ImDrawList(ImDrawListSharedData shared_data) { memset(this, 0, sizeof(this)); _Data = shared_data; }
| ^
| (void)
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot_items.cpp:30:
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot_internal.h:40:
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:807:54: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImDrawDataBuilder' [-Wnontrivial-memcall]
807 | ImDrawDataBuilder() { memset(this, 0, sizeof(*this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:807:54: note: explicitly cast the pointer to silence this warning
807 | ImDrawDataBuilder() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1108:50: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiInputTextDeactivatedState' [-Wnontrivial-memcall]
1108 | ImGuiInputTextDeactivatedState() { memset(this, 0, sizeof(*this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1108:50: note: explicitly cast the pointer to silence this warning
1108 | ImGuiInputTextDeactivatedState() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1134:54: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiInputTextState' [-Wnontrivial-memcall]
1134 | ImGuiInputTextState() { memset(this, 0, sizeof(this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1134:54: note: explicitly cast the pointer to silence this warning
1134 | ImGuiInputTextState() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1526:46: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiListClipperData' [-Wnontrivial-memcall]
1526 | ImGuiListClipperData() { memset(this, 0, sizeof(this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1526:46: note: explicitly cast the pointer to silence this warning
1526 | ImGuiListClipperData() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1710:34: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiOldColumns' [-Wnontrivial-memcall]
1710 | ImGuiOldColumns() { memset(this, 0, sizeof(this)); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1710:34: note: explicitly cast the pointer to silence this warning
1710 | ImGuiOldColumns() { memset(this, 0, sizeof(this)); }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1966:38: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiIDStackTool' [-Wnontrivial-memcall]
1966 | ImGuiIDStackTool() { memset(this, 0, sizeof(this)); CopyToClipboardLastTime = -FLT_MAX; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:1966:38: note: explicitly cast the pointer to silence this warning
1966 | ImGuiIDStackTool() { memset(this, 0, sizeof(this)); CopyToClipboardLastTime = -FLT_MAX; }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:3019:42: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiTable' [-Wnontrivial-memcall]
3019 | ImGuiTable() { memset(this, 0, sizeof(this)); LastFrameActive = -1; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:3019:42: note: explicitly cast the pointer to silence this warning
3019 | ImGuiTable() { memset(this, 0, sizeof(this)); LastFrameActive = -1; }
| ^
| (void)
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:3047:42: warning: first argument in call to 'memset' is a pointer to non-trivially copyable type 'ImGuiTableTempData' [-Wnontrivial-memcall]
3047 | ImGuiTableTempData() { memset(this, 0, sizeof(this)); LastTimeActive = -1.0f; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:3047:42: note: explicitly cast the pointer to silence this warning
3047 | ImGuiTableTempData() { memset(this, 0, sizeof(this)); LastTimeActive = -1.0f; }
| ^
| (void)
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot_items.cpp:28:
In file included from /home/leonef/MarathonRecomp/thirdparty/implot/implot.h:48:
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:2095:182: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'ImPlotItem' [-Wnontrivial-memcall]
2095 | inline void reserve(int new_capacity) { if (new_capacity <= Capacity) return; T new_data = (T)IM_ALLOC((size_t)new_capacity * sizeof(T)); if (Data) { memcpy(new_data, Data, (size_t)Size * sizeof(T)); IM_FREE(Data); } Data = new_data; Capacity = new_capacity; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:2092:88: note: in instantiation of member function 'ImVector::reserve' requested here
2092 | inline void resize(int new_size) { if (new_size > Capacity) reserve(_grow_capacity(new_size)); Size = new_size; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:695:101: note: in instantiation of member function 'ImVector::resize' requested here
695 | T Add() { int idx = FreeIdx; if (idx == Buf.Size) { Buf.resize(Buf.Size + 1); FreeIdx++; } else { FreeIdx = (int)&Buf[idx]; } IM_PLACEMENT_NEW(&Buf[idx]) T(); AliveCount++; return &Buf[idx]; }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui_internal.h:692:156: note: in instantiation of member function 'ImPool::Add' requested here
692 | T GetOrAddByKey(ImGuiID key) { int p_idx = Map.GetIntRef(key, -1); if (p_idx != -1) return &Buf[p_idx]; p_idx = FreeIdx; return Add(); }
| ^
/home/leonef/MarathonRecomp/thirdparty/implot/implot_internal.h:1003:68: note: in instantiation of member function 'ImPool::GetOrAddByKey' requested here
1003 | ImPlotItem GetOrAddItem(ImGuiID id) { return ItemPool.GetOrAddByKey(id); }
| ^
/home/leonef/MarathonRecomp/thirdparty/imgui/imgui.h:2095:182: note: explicitly cast the pointer to silence this warning
2095 | inline void reserve(int new_capacity) { if (new_capacity <= Capacity) return; T new_data = (T)IM_ALLOC((size_t)new_capacity * sizeof(T)); if (Data) { memcpy(new_data, Data, (size_t)Size * sizeof(T)); IM_FREE(Data); } Data = new_data; Capacity = new_capacity; }
| ^
| (void)
11 warnings generated.
[816/831] Building CXX object MarathonRecomp/CMakeFiles/MarathonRecomp.dir/gpu/video.cpp.o
ninja: build stopped: subcommand failed.
mjBrickman commentedon Jun 7, 2026
To fix this issue on my end, I replaced every instance of "None" in /MarathonRecomp/MarathonRecomp/os/logger.h with "NoError." I'm not too knowledgeable on Linux or C++, but it seems the code is calling for "None" from /usr/include/X11/X.h instead of the "None" from the class "ELogType" in /MarathonRecomp/MarathonRecomp/os/logger.h.