Dolphin, the GameCube and Wii emulator - Forums
[ SOLVED ] Linux Mint 19.3 unable to compile latest Dev release - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: Support (https://forums.dolphin-emu.org/Forum-support)
+--- Thread: [ SOLVED ] Linux Mint 19.3 unable to compile latest Dev release (/Thread-solved-linux-mint-19-3-unable-to-compile-latest-dev-release)

Pages: 1 2


[ SOLVED ] Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 01-29-2022

It seems that something unfriendly to Ubuntu \ Debian snuck into the Dev trunk?

/dolphin-emu/Source/Core/Common/MsgHandler.h:85:20: error: invalid use of void expression
      ##__VA_ARGS__)
                   ^
/dolphin-emu/Source/Core/Common/MsgHandler.h:100:3: note: in expansion of macro ‘GenericAlertFmt’
  GenericAlertFmt(true, Common::MsgType::Warning, MASTER_LOG, format, ##__VA_ARGS__)
  ^~~~~~~~~~~~~~~
/dolphin-emu/Source/Core/Common/Assert.h:37:12: note: in expansion of macro ‘PanicYesNoFmt’
      if (!PanicYesNoFmt("An error occurred.\n\n"                                                  \


Please let me know if there are alternate compile instructions or if this is a known issue?


RE: Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 01-30-2022

OK, when I blow out my install directory and start from scratch it is failing on a different error:

[ 35%] Building CXX object Externals/glslang/CMakeFiles/glslang.dir/glslang/OSDependent/Unix/ossource.cpp.o
[ 35%] Linking CXX static library libglslang.a
[ 35%] Built target glslang
Makefile:170: recipe for target 'all' failed
make: *** [all] Error 2


RE: Linux Mint 19.3 unable to compile latest Dev release - Joom - 01-30-2022

Builds fine for me on Pop_OS 21.10. Are you running this in the root of the git before attempting to build? 
Code:
git submodule update --init --recursive

It looks like the version of fmt that you have isn't the one required, which is true on Ubuntu. When running cmake, you should see this:
Quote:CMake Warning at CMakeLists.txt:567 (find_package):

  Could not find a configuration file for package "fmt" that is compatible
  with requested version "8.0".

  The following configuration files were considered but not accepted:

    /usr/lib/x86_64-linux-gnu/cmake/fmt/fmt-config.cmake, version: 7.1.3
    /lib/x86_64-linux-gnu/cmake/fmt/fmt-config.cmake, version: 7.1.3



-- Using static fmt from Externals
-- Module support is disabled.
-- Version: 8.1.1
-- Build type: Release



RE: Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 01-30-2022

Tried a recursive submodule init

[ 36%] Built target glslang
Source/Core/Common/CMakeFiles/common.dir/build.make:744: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/x64Emitter.cpp.o' failed
make[2]: *** [Source/Core/Common/CMakeFiles/common.dir/x64Emitter.cpp.o] Error 1
CMakeFiles/Makefile2:1708: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/all' failed
make[1]: *** [Source/Core/Common/CMakeFiles/common.dir/all] Error 2
Makefile:170: recipe for target 'all' failed
make: *** [all] Error 2

It only seems to grab mGBA and QT submodules?


RE: Linux Mint 19.3 unable to compile latest Dev release - JosJuice - 01-30-2022

(01-30-2022, 06:28 AM)nbohr1more Wrote: [ 36%] Built target glslang
Source/Core/Common/CMakeFiles/common.dir/build.make:744: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/x64Emitter.cpp.o' failed
make[2]: *** [Source/Core/Common/CMakeFiles/common.dir/x64Emitter.cpp.o] Error 1
CMakeFiles/Makefile2:1708: recipe for target 'Source/Core/Common/CMakeFiles/common.dir/all' failed
make[1]: *** [Source/Core/Common/CMakeFiles/common.dir/all] Error 2
Makefile:170: recipe for target 'all' failed
make: *** [all] Error 2

Do you have any additional errors earlier in the log?

(01-30-2022, 06:28 AM)nbohr1more Wrote: It only seems to grab mGBA and QT submodules?

Yes, those are Dolphin's only submodules.


RE: Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 01-31-2022

(01-30-2022, 07:24 PM)JosJuice Wrote: Do you have any additional errors earlier in the log?

Yes, it seems that fmt strikes again?

dolphin-emu/Source/Core/Common/MsgHandler.h:85:20: error: invalid use of void expression
##__VA_ARGS__)
^
dolphin-emu/Source/Core/Common/MsgHandler.h:100:3: note: in expansion of macro ‘GenericAlertFmt’
GenericAlertFmt(true, Common::MsgType::Warning, MASTER_LOG, format, ##__VA_ARGS__)
^~~~~~~~~~~~~~~

I guess I could see if there is a more modern fmt than the one that ships in Mint?


RE: Linux Mint 19.3 unable to compile latest Dev release - Neui - 02-01-2022

ASSERT is just a macro. I feel like you have more messages to show (where that ASSERT is used).
Also, latest master compiles fine for me on Ubuntu 20.04.


RE: Linux Mint 19.3 unable to compile latest Dev release - KHg8m3r - 02-01-2022

Linux Mint 19.3 is based on Ubuntu 18.04, and both of them use an older version of gcc/g++ that doesn't seem to play nicely with the external fmt library that Dolphin provides. Your two options are to upgrade to Linux Mint 20.3 (Ubuntu 20.04) or update your compiler on Linux Mint 19.3.

If you want to keep using Linux Mint 19.3, here's what I tested on Linux Mint 19.3 Cinnamon:



RE: Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 02-01-2022

(02-01-2022, 04:45 AM)KHg8m3r Wrote: Linux Mint 19.3 is based on Ubuntu 18.04, and both of them use an older version of gcc/g++ that doesn't seem to play nicely with the external fmt library that Dolphin provides. Your two options are to upgrade to Linux Mint 20.3 (Ubuntu 20.04) or update your compiler on Linux Mint 19.3.

If you want to keep using Linux Mint 19.3, here's what I tested on Linux Mint 19.3 Cinnamon:

Woo!!! Thank you very much! I am back to compiling dev again Smile


RE: [SOLVED] Linux Mint 19.3 unable to compile latest Dev release - nbohr1more - 08-14-2022

Dev is failing to compile again:

make[1]: Entering directory '/home/user/dolphin-emu/Build/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_52c34.dir/src.cxx.o
/usr/bin/g++-9 -DFLAG_CXX_MISSING_VARIABLE_DECLARATIONS -Werror -Wmissing-variable-declarations -std=c++2a -o CMakeFiles/cmTC_52c34.dir/src.cxx.o -c /home/user/dolphin-emu/Build/CMakeFiles/CMakeTmp/src.cxx
g++-9: error: unrecognized command line option '-Wmissing-variable-declarations'; did you mean '-Wmissing-declarations'?
CMakeFiles/cmTC_52c34.dir/build.make:84: recipe for target 'CMakeFiles/cmTC_52c34.dir/src.cxx.o' failed
make[1]: *** [CMakeFiles/cmTC_52c34.dir/src.cxx.o] Error 1
make[1]: Leaving directory '/home/user/dolphin-emu/Build/CMakeFiles/CMakeTmp'
Makefile:140: recipe for target 'cmTC_52c34/fast' failed
make: *** [cmTC_52c34/fast] Error 2