Dolphin, the GameCube and Wii emulator - Forums

Full Version: Cannot compile dev version on Linux Mint 21.2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
So, I've been trying to update to the latest version of Dolphin on my Linux Mint machine, yeah?

The problem is, no matter how many times I try, the compilation process fails towards the end.

Before compilation, I always make sure that I have the latest versions of all of the libraries I need, even the optional ones. I also do my very best to follow all of the instructions on Dolphin Wiki to the letter. No matter what, unfortunately, I don't seem to ever have any luck in completing the compilation process.

In particular, it always hangs when I try to compile the file GBACore.cpp. I've posted the error logs below if they're helpful.

Code:
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp: In function ‘u32 HW::GBA::GetCoreFrequency(mCore*)’:
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp:55:8: error: ‘GB_MODEL_SCGB’ was not declared in this scope; did you mean ‘GB_MODEL_SGB’?
  55 |  case GB_MODEL_SCGB:
      |        ^~~~~~~~~~~~~
      |        GB_MODEL_SGB
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘HW::GBA::CoreInfo HW::GBA::Core::GetCoreInfo() const’:
/home/cpt-mono/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);
      |          ^~~~~~~~~~~~~~~~
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘void HW::GBA::Core::EReaderQueueCard(std::string_view)’:
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp:332:3: error: ‘GBACartEReaderQueueCard’ was not declared in this scope; did you mean ‘GBAEReaderQueueCard’?
  332 |  GBACartEReaderQueueCard(static_cast<::GBA*>(m_core->board), core_state.data(), core_state.size());
      |  ^~~~~~~~~~~~~~~~~~~~~~~
      |  GBAEReaderQueueCard
/home/cpt-mono/dolphin/Source/Core/Core/HW/GBACore.cpp: In member function ‘void HW::GBA::Core::SetVideoBuffer()’:
/home/cpt-mono/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:4318: Source/Core/Core/CMakeFiles/core.dir/HW/GBACore.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1664: Source/Core/Core/CMakeFiles/core.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

It should be noted that I can run the Flatpak which is available via Software Manager; that's always worked, and has thankfully helped to tide me over for the time being. Ultimately, however, I'd like to be able to access the Dev versions of Dolphin; the Flatpak only has the Beta builds available, which aren't as bleeding-edge as I can get on my Windows machine.

While I acknowledge that compiling Dolphin from source isn't officially supported based on the FAQs, I don't have any other way of accessing Dev builds on my Linux machine otherwise since the PPA is borked. More specifically, I get a message saying, "No supported PPA of this name was found" when I try to add it, even after adding the Universe repository.

If anyone knows what I'm doing wrong, then I'd love to know how to fix it. If there are any other details that you'd like me to provide, then please give me a nudge; I'll provide them when I can.
Strange. I just installed Linux Mint 21.2 Cinnamon and tried building Dolphin 5.0 20555 using the same steps as I used for Mint 21. The only change I had to make was to replace Qt5 with some Qt6 stuff that it was asking for.

I haven't looked at the instructions recently, but I will check my procedure against the latest instructions tomorrow. I'll update this post if I find anything.
(12-05-2023, 09:33 AM)CptMono Wrote: [ -> ]In particular, it always hangs when I try to compile the file GBACore.cpp. I've posted the error logs below if they're helpful.

This indicates that you're compiling with an older version of mGBA than Dolphin requires. If I recall correctly, Dolphin needs a version that's newer than the latest release. You should be able to get the right version by using the version that Dolphin includes as a submodule instead of the one your distro provides for you, but I'm not sure exactly how you would switch it over.

(12-05-2023, 09:33 AM)CptMono Wrote: [ -> ]While I acknowledge that compiling Dolphin from source isn't officially supported based on the FAQs, I don't have any other way of accessing Dev builds on my Linux machine otherwise since the PPA is borked. More specifically, I get a message saying, "No supported PPA of this name was found" when I try to add it, even after adding the Universe repository.

It's actually compiling from source that's officially supported. The PPA doesn't exist anymore, and wasn't ran by us when it did exist.
(12-06-2023, 06:40 AM)JosJuice Wrote: [ -> ]This indicates that you're compiling with an older version of mGBA than Dolphin requires.

Whew, thanks! You're my hero! In retrospect, I really should've troubleshooted a bit more; the "SYSTEM LIBMGBA FOUND" message was hiding in plain sight this whole time! Anyways, I can safely say that after temporarily uninstalling mGBA (yeah, it's a bit extreme, but it's not like there's too much to reconfigure, anyways), I can safely say that I can now compile Dolphin from source correctly!

Woo-hoo! Updates with a reasonable timeline, here I come!
I was stuck in the exact same place, with the same error messages.
As advised by the dev, I uninstalled the MGBA library, so I was able to skip this step. But I get another error message a little further on Big Grin
If only Dolphin dev team could provide a nightly Appimage like other emulator development teams do.
Windows users are in luck, they don't need to compile their nightly versions of Dolphin, they are already compiled.
You know Linux users also like to download compiled binaries Wink