Closed dmccombs closed 9 months ago
I'd like this too please
This seems to be vital for arch linux support under the AUR package and manual building.
In an effort to clean up commit history along with rebasing, I'll be switching the main branch of this project to primehack-master soon. That branch should currently compile. I'll leave the old master branch up for historic reasons
Building unfortunately still errors when it reaches GBACore.cpp, throwing this.
/run/media/2TB/Downloads/dolphin-emu-primehack-git/src/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘HW::GBA::CoreInfo HW::GBA::Core::GetCoreInfo() const’:
/run/media/2TB/Downloads/dolphin-emu-primehack-git/src/dolphin/Source/Core/Core/HW/GBACore.cpp:308:11: error: ‘struct mCore’ has no member named ‘currentVideoSize’
308 | m_core->currentVideoSize(m_core, &info.width, &info.height);
| ^~~~~~~~~~~~~~~~
/run/media/2TB/Downloads/dolphin-emu-primehack-git/src/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘void HW::GBA::Core::SetVideoBuffer()’:
/run/media/2TB/Downloads/dolphin-emu-primehack-git/src/dolphin/Source/Core/Core/HW/GBACore.cpp:395:11: error: ‘struct mCore’ has no member named ‘currentVideoSize’
395 | m_core->currentVideoSize(m_core, &width, &height);
| ^~~~~~~~~~~~~~~~
make[2]: *** [Source/Core/Core/CMakeFiles/core.dir/build.make:4626: Source/Core/Core/CMakeFiles/core.dir/HW/GBACore.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1173: Source/Core/Core/CMakeFiles/core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
make: Leaving directory '/run/media/2TB/Downloads/dolphin-emu-primehack-git/src/dolphin/build'
==> ERROR: A failure occurred in build().
Aborting...
If you're reattempting a build from the AUR package, I'm not sure how it deals with submodules. Clean them up with
git submodule update --recursive --init
git submodule foreach git reset --hard HEAD
Here's a reattempted build on the source code with manual build instructions, using both commands you suggested for maximum good measure.
/run/media/2TB/Downloads/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘HW::GBA::CoreInfo HW::GBA::Core::GetCoreInfo() const’:
/run/media/2TB/Downloads/dolphin/Source/Core/Core/HW/GBACore.cpp:308:11: error: ‘struct mCore’ has no member named ‘currentVideoSize’
308 | m_core->currentVideoSize(m_core, &info.width, &info.height);
| ^~~~~~~~~~~~~~~~
/run/media/2TB/Downloads/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘void HW::GBA::Core::SetVideoBuffer()’:
/run/media/2TB/Downloads/dolphin/Source/Core/Core/HW/GBACore.cpp:395:11: error: ‘struct mCore’ has no member named ‘currentVideoSize’
395 | m_core->currentVideoSize(m_core, &width, &height);
| ^~~~~~~~~~~~~~~~
[ 77%] Building CXX object Source/Core/Core/CMakeFiles/core.dir/HW/WiimoteReal/IOhidapi.cpp.o
[ 77%] Building CXX object Source/Core/Core/CMakeFiles/core.dir/MemoryWatcher.cpp.o
make[2]: *** [Source/Core/Core/CMakeFiles/core.dir/build.make:4626: Source/Core/Core/CMakeFiles/core.dir/HW/GBACore.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1173: Source/Core/Core/CMakeFiles/core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
I'm honestly not sure what's causing this.
You might have a bad version of mGBA installed, disable building with system mGBA. The version from externals is building fine (from what I can tell)
How do I do that, because google doesn't seem to be helping me in finding out.
Scratch that last post, updating libmgba to its AUR git package allowed it to build properly there, however I get a further issue that I can't seem to extrapolate shown here. Same build instructions I've been testing on.
[ 78%] Linking CXX executable ../../../Binaries/dolphin-emu-nogui
[ 78%] Linking CXX executable ../../../Binaries/dolphin-tool
/sbin/ld: ../DiscIO/CMakeFiles/discio.dir/CompressedBlob.cpp.o: undefined reference to symbol 'deflateInit_'
/sbin/ld: /usr/lib/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Source/Core/DolphinNoGUI/CMakeFiles/dolphin-nogui.dir/build.make:231: Binaries/dolphin-emu-nogui] Error 1
make[1]: *** [CMakeFiles/Makefile2:1546: Source/Core/DolphinNoGUI/CMakeFiles/dolphin-nogui.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/sbin/ld: ../DiscIO/CMakeFiles/discio.dir/CompressedBlob.cpp.o: undefined reference to symbol 'deflateInit_'
/sbin/ld: /usr/lib/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Source/Core/DolphinTool/CMakeFiles/dolphin-tool.dir/build.make:231: Binaries/dolphin-tool] Error 1
make[1]: *** [CMakeFiles/Makefile2:1588: Source/Core/DolphinTool/CMakeFiles/dolphin-tool.dir/all] Error 2
[ 78%] Built target dolphin-emu_autogen
make: *** [Makefile:156: all] Error 2
Current version of dolphin doesn't like the system version of zlib for arch. You can disable system packages from the cmake configuration (from the build steps):
cmake .. <other arguments> -DUSE_SYSTEM_ZLIB=false
this can also be done for any other libraries where you'd prefer to use the dolphin-packaged form.
Would it be possible to update prime-hack to use a more recent version of dolphin? Specifically one that includes this fix from June 30th that corrects build failures on systems with mbedtls 3.x. Thanks!