• 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 ... 134 135 136 137 138 ... 1196 Next »

struggling to build Dolphin 5.0 on Manjaro Linux
View New Posts | View Today's Posts

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
struggling to build Dolphin 5.0 on Manjaro Linux
04-18-2020, 01:59 AM
#1
cyvern Offline
Junior Member
**
Posts: 5
Threads: 1
Joined: Apr 2020
Hi,

I want to netplay with someone running Dolphin 5.0 on Windows, but I am running Manjaro Linux, and the 'dolphin-emu' package provided in the repos seems to be 5.0-11832.

Since netplay requires both players to have the same version of Dolphin I am trying to build and install Dolphin 5.0 using the Building Dolphin on Linux guide (https://wiki.dolphin-emu.org/index.php?title=Building_Dolphin_on_Linux). However I am running into issues.

I could not find packages listed in required dependencies (I guess they are named differently on different distros?) so I installed all the listed dependencies for dolphin-emu-git in the AUR (https://aur.archlinux.org/packages/dolphin-emu-git/), but I cannot be 100% sure I have all the needed dependencies.

Then I followed exactly the steps laid out in the guide, which all seem to complete successfully until I try to run 'make'--which fails.

Initially I had the same problem as the user in this thread -- https://forums.dolphin-emu.org/Thread-problem-building-from-source
The advice given was to remove the 'libsoundtouch-dev' package, I had a package 'soundtouch' installed on my system, I removed the packages that require that for now, and it's now successfully progressing past that step.

Now it fails on this
Code:
/home/cyvern/dolphin-emu/Source/Core/Common/x64CPUDetect.cpp:45:12: error: ambiguating new declaration of ‘u64 _xgetbv(u32)’
  45 | static u64 _xgetbv(u32 index)
     |            ^~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:43,
                from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/x86intrin.h:32,
                from /home/cyvern/dolphin-emu/Source/Core/Common/Intrinsics.h:12,
                from /home/cyvern/dolphin-emu/Source/Core/Common/x64CPUDetect.cpp:10:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/xsaveintrin.h:60:1: note: old declaration ‘long long int _xgetbv(unsigned int)’
  60 | _xgetbv (unsigned int __A)
     | ^~~~~~~
/home/cyvern/dolphin-emu/Source/Core/Common/x64CPUDetect.cpp:45:12: warning: ‘u64 _xgetbv(u32)’ defined but not used [-Wunused-function]
  45 | static u64 _xgetbv(u32 index)
     |            ^~~~~~~
make[2]: *** [Source/Core/Common/CMakeFiles/common.dir/build.make:616: Source/Core/Common/CMakeFiles/common.dir/x64CPUDetect.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:892: Source/Core/Common/CMakeFiles/common.dir/all] Error 2
make: *** [Makefile:183: all] Error 2
the user from the thread I mentioned above also ran into this issue but it doesn't seem like it was resolved and I feel a little lost trying to understand the discussion that comes after it.

Any advice on how to successfully build and install Dolphin 5.0 on my system? Or if this is something of an XY problem, I'd appreciate clarification on Dolphin versions and netplay between Windows and Linux.
Find
Reply
04-18-2020, 02:04 AM
#2
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,924
Threads: 7
Joined: Oct 2014
Try applying this change: https://github.com/dolphin-emu/dolphin/commit/823fdda30c38be953c3d425874f2adeabed2b5a8
Find
Reply
04-18-2020, 05:20 AM
#3
cyvern Offline
Junior Member
**
Posts: 5
Threads: 1
Joined: Apr 2020
(04-18-2020, 02:04 AM)JosJuice Wrote: Try applying this change: https://github.com/dolphin-emu/dolphin/commit/823fdda30c38be953c3d425874f2adeabed2b5a8

Thanks for your help, I appreciate it!
I am not sure on to apply that? I am not very familiar with git and building packages from source, sorry. I have tried to search the web but I haven't managed to find anyone who seems to be trying to do the same thing
Find
Reply
04-18-2020, 05:32 AM
#4
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,924
Threads: 7
Joined: Oct 2014
(04-18-2020, 05:20 AM)cyvern Wrote: Thanks for your help, I appreciate it!
I am not sure on to apply that? I am not very familiar with git and building packages from source, sorry. I have tried to search the web but I haven't managed to find anyone who seems to be trying to do the same thing

It might be easiest for you to do it manually. Open Source/Core/Common/x64CPUDetect.cpp, look at the page I linked, and replace the lines that are highlighted in red (that have a minus on the left) with the lines that are highlighted in green (that have a plus on the left).
Find
Reply
04-18-2020, 06:33 AM
#5
cyvern Offline
Junior Member
**
Posts: 5
Threads: 1
Joined: Apr 2020
(04-18-2020, 05:32 AM)JosJuice Wrote: It might be easiest for you to do it manually. Open Source/Core/Common/x64CPUDetect.cpp, look at the page I linked, and replace the lines that are highlighted in red (that have a minus on the left) with the lines that are highlighted in green (that have a plus on the left).

Thank you, I have done that and it solved that issue!

However it is unfortunately still failing further along the process with a different error:
Code:
[ 30%] Building CXX object Source/Core/VideoBackends/OGL/CMakeFiles/videoogl.dir/RasterFont.cpp.o
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include-fixed/limits.h:194,
                from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include-fixed/syslimits.h:7,
                from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include-fixed/limits.h:34,
                from /home/cyvern/dolphin-emu/Build/Source/CMakeFiles/pch.dir/pch.h:35,
                from <command-line>:
/home/cyvern/dolphin-emu/Source/Core/VideoBackends/OGL/RasterFont.cpp:18:18: error: expected unqualified-id before numeric constant
  18 | static const int CHAR_WIDTH = 8;
     |                  ^~~~~~~~~~
make[2]: *** [Source/Core/VideoBackends/OGL/CMakeFiles/videoogl.dir/build.make:182: Source/Core/VideoBackends/OGL/CMakeFiles/videoogl.dir/RasterFont.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1188: Source/Core/VideoBackends/OGL/CMakeFiles/videoogl.dir/all] Error 2
make: *** [Makefile:183: all] Error 2

I've searched for this error and it seems like it's an issue that's now fixed for newer versions of dolphin? Would it be better to try install a development version of dolphin on my system and ask anyone I'd like to netplay with to also install that version, or should I keep trying to get 5.0 to build?

Again, I really appreciate the help Smile
Find
Reply
04-18-2020, 06:38 AM
#6
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,924
Threads: 7
Joined: Oct 2014
If the others are fine with using a development version, then that is what I would recommend, both to make Dolphin easier to build for you and because the newer versions generally work better,

If you want to fix the CHAR_WIDTH problem, you can replace every occurrence of "CHAR_" in Source/Core/VideoBackends/OGL/RasterFont.cpp with something else, for instance "CHARACTER_".
Find
Reply
04-18-2020, 10:27 AM
#7
cyvern Offline
Junior Member
**
Posts: 5
Threads: 1
Joined: Apr 2020
(04-18-2020, 06:38 AM)JosJuice Wrote: If the others are fine with using a development version, then that is what I would recommend, both to make Dolphin easier to build for you and because the newer versions generally work better,

If you want to fix the CHAR_WIDTH problem, you can replace every occurrence of "CHAR_" in Source/Core/VideoBackends/OGL/RasterFont.cpp with something else, for instance "CHARACTER_".

after replacing the 'CHAR_'s with 'CHARACTER_'s in that file, 'make' completed successfully and the 'make install' went fine

However the resulting Dolphin couldn't run any games--it came up with a "WriteRest: op out of range" error when I attempted to launch them.

I followed the Building Dolphin on Linux guide but without the step for 5.0 to install the latest development version and it works perfectly--I think we'll go with the dev versions.

Thank you so much for all your help with this! Big Grin
Find
Reply
04-18-2020, 06:50 PM
#8
JosJuice Offline
Developer
**********
Developers (Some Administrators and Super Moderators)
Posts: 8,924
Threads: 7
Joined: Oct 2014
(04-18-2020, 10:27 AM)cyvern Wrote: However the resulting Dolphin couldn't run any games--it came up with a "WriteRest: op out of range" error when I attempted to launch them.

To fix that, you need to add the flag -fno-pie (or equivalent) when compiling.
Find
Reply
04-19-2020, 01:53 AM
#9
cyvern Offline
Junior Member
**
Posts: 5
Threads: 1
Joined: Apr 2020
(04-18-2020, 06:50 PM)JosJuice Wrote: To fix that, you need to add the flag -fno-pie (or equivalent) when compiling.

It worked! I wasn't sure on how to do that but I tried making the change I found here (https://github.com/dolphin-emu/dolphin/pull/4365/commits/d03a35ac92743e812e96adfb65d5596325909f5d) and that did it! I think I am still going to go with the development versions but it is great to be able to install 5.0 stable.

Thanks again!
Find
Reply
« Next Oldest | Next Newest »


  • 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