• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › Support v
« Previous 1 ... 4 5 6 7 8 ... 1192 Next »

[ SOLVED ] Linux Mint 19.3 unable to compile latest Dev release
View New Posts | View Today's Posts

Pages (2): 1 2 Next »
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
[ SOLVED ] Linux Mint 19.3 unable to compile latest Dev release
01-29-2022, 11:01 AM (This post was last modified: 01-09-2023, 11:51 AM by nbohr1more.)
#1
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
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?
Find
Reply
01-30-2022, 02:06 AM
#2
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
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
Find
Reply
01-30-2022, 02:38 AM
#3
Joom Offline
Junior Member
**
Posts: 8
Threads: 1
Joined: Oct 2020
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
Find
Reply
01-30-2022, 06:28 AM
#4
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
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?
Find
Reply
01-30-2022, 07:24 PM
#5
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,873
Threads: 7
Joined: Oct 2014
(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.
Find
Reply
01-31-2022, 02:01 PM (This post was last modified: 01-31-2022, 02:02 PM by nbohr1more.)
#6
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
(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?
Find
Reply
02-01-2022, 04:13 AM
#7
Neui Offline
Quiet
***
Posts: 175
Threads: 1
Joined: Apr 2015
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.
Find
Reply
02-01-2022, 04:45 AM
#8
KHg8m3r Offline
Doesn't sleep, just Dolphin and Robots
*******
Posts: 5,933
Threads: 4
Joined: Sep 2013
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:
Spoiler: (Show Spoiler)
# Install gcc-9/g++-9:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt upgrade
sudo apt install gcc-9 g++-9

# You can change your default gcc compiler to gcc-9 if you want by following this post (change 8 for 9):
https://askubuntu.com/a/1028656

# Confirm you have gcc-9 installed
gcc-9 -v
(if you changed the default) gcc -v

# Follow the build instructions for Dolphin on Linux
https://wiki.dolphin-emu.org/index.php?title=Building_Dolphin_on_Linux
(I had to run the `sudo apt install <packages> again cause I broke my Qt5 install messing around testing various things)

# If you still have your old git folder that's fine too, just delete the `build` folder you created and start fresh

# If you changed your default gcc to gcc-9, then just run through building as normal

# If you didn't change your default, you have to run cmake to point to gcc-9
cmake .. -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9

# The first few lines of the cmake output will tell you if it's using gcc 9.4.0 or gcc 7.7.0

# Build Dolphin
make -j$(nproc)

# Create a bash script if you want that'll run through the make process for you. An example is on the Building Dolphin for Linux page
Find
Reply
02-01-2022, 09:46 AM (This post was last modified: 02-01-2022, 09:46 AM by nbohr1more.)
#9
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
(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:
Spoiler: (Show Spoiler)
# Install gcc-9/g++-9:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update && sudo apt upgrade
sudo apt install gcc-9 g++-9

# You can change your default gcc compiler to gcc-9 if you want by following this post (change 8 for 9):
https://askubuntu.com/a/1028656

# Confirm you have gcc-9 installed
gcc-9 -v
(if you changed the default) gcc -v

# Follow the build instructions for Dolphin on Linux
https://wiki.dolphin-emu.org/index.php?title=Building_Dolphin_on_Linux
(I had to run the `sudo apt install <packages> again cause I broke my Qt5 install messing around testing various things)

# If you still have your old git folder that's fine too, just delete the `build` folder you created and start fresh

# If you changed your default gcc to gcc-9, then just run through building as normal

# If you didn't change your default, you have to run cmake to point to gcc-9
cmake .. -DCMAKE_C_COMPILER=gcc-9 -DCMAKE_CXX_COMPILER=g++-9

# The first few lines of the cmake output will tell you if it's using gcc 9.4.0 or gcc 7.7.0

# Build Dolphin
make -j$(nproc)

# Create a bash script if you want that'll run through the make process for you. An example is on the Building Dolphin for Linux page

Woo!!! Thank you very much! I am back to compiling dev again Smile
Find
Reply
08-14-2022, 01:09 PM
#10
nbohr1more Offline
Member
***
Posts: 56
Threads: 4
Joined: Feb 2015
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
Find
Reply
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread: 1 Guest(s)



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode