cemu-project / Cemu

Cemu - Wii U emulator
https://cemu.info
Mozilla Public License 2.0
6.61k stars 505 forks source link

Fails to compile on Arch with GCC 14.1 #1196

Closed wantija closed 1 month ago

wantija commented 2 months ago

Current Behavior

Arch has GCC 14.1 it their repos now, after a fullsystem upgrade, cemu does not compile.

Expected Behavior

Cemu compiles from latest git.

Steps to Reproduce

Compile cemu from source/AUR with makepkg -si

System Info (Optional)

No response

Emulation Settings (Optional)

No response

Logs (Optional)

[ 89%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/DumpCtrl.cpp.o
[ 89%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/DisasmCtrl.cpp.o
[ 89%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/DumpWindow.cpp.o
In file included from /home/anon/data/git/cemu-git/src/cemu/src/gui/../gui/ChecksumTool.h:5,
                 from /home/anon/data/git/cemu-git/src/cemu/src/gui/ChecksumTool.cpp:1:
/usr/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/usr/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
  319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
      |                                                                           ~~~~~~~^~~~~~~~~~~~
In file included from /home/anon/data/git/cemu-git/src/cemu/src/gui/../gui/ChecksumTool.h:5,
                 from /home/anon/data/git/cemu-git/src/cemu/src/gui/components/wxDownloadManagerList.cpp:21:
/usr/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/usr/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
  319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
      |                                                                           ~~~~~~~^~~~~~~~~~~~
In file included from /home/anon/data/git/cemu-git/src/cemu/src/gui/../gui/ChecksumTool.h:5,
                 from /home/anon/data/git/cemu-git/src/cemu/src/gui/components/wxTitleManagerList.cpp:25:
/usr/include/rapidjson/document.h: In member function ‘rapidjson::GenericStringRef<CharType>& rapidjson::GenericStringRef<CharType>::operator=(const rapidjson::GenericStringRef<CharType>&)’:
/usr/include/rapidjson/document.h:319:82: error: assignment of read-only member ‘rapidjson::GenericStringRef<CharType>::length’
  319 |     GenericStringRef& operator=(const GenericStringRef& rhs) { s = rhs.s; length = rhs.length; }
      |                                                                           ~~~~~~~^~~~~~~~~~~~
[ 89%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/ModuleWindow.cpp.o
[ 89%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/RegisterCtrl.cpp.o
[ 90%] Building CXX object src/gui/CMakeFiles/CemuGui.dir/debugger/RegisterWindow.cpp.o
make[2]: *** [src/gui/CMakeFiles/CemuGui.dir/build.make:157: src/gui/CMakeFiles/CemuGui.dir/ChecksumTool.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [src/gui/CMakeFiles/CemuGui.dir/build.make:189: src/gui/CMakeFiles/CemuGui.dir/components/wxDownloadManagerList.cpp.o] Error 1
make[2]: *** [src/gui/CMakeFiles/CemuGui.dir/build.make:253: src/gui/CMakeFiles/CemuGui.dir/components/wxTitleManagerList.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:463: src/gui/CMakeFiles/CemuGui.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
GaryOderNichts commented 1 month ago

This is a bug in rapidjson which was patched in the Arch package. Make sure to update your packages and try building Cemu again.

wantija commented 1 month ago

that seems to have fixed it, thanks!