Dolphin, the GameCube and Wii emulator - Forums

Full Version: Unable to compile on Linux
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
i am attempting to get dolphin on my new Zorin OS 15.2 install but the specific builds my friends use for netplay (5.0-11991 or 5.0-12196) are erroring out while compiling. being relatively new to linux i dont know much about the make process, and the errors are totally incomprehensible to me, and i cant find any helpful info online.. ive attached the output of the make command. ive tried with checkinstall and that didnt change anything
the process works fine on my laptop running Kubuntu 20.04, but i dont want to use that machine
thank you
It seems like you have an old version of the zstd library. Try either removing it (so that Dolphin will use its own copy instead) or updating it (so that it contains everything that Dolphin expects it to contain).
(06-25-2020, 06:56 PM)JosJuice Wrote: [ -> ]It seems like you have an old version of the zstd library. Try either removing it (so that Dolphin will use its own copy instead) or updating it (so that it contains everything that Dolphin expects it to contain).

neither removing it nor reinstalling (both through apt and both followed by a restart) fixed the error unfortunately... just to make sure, is "zstd/bionic-updates,bionic-security,now 1.3.3+dfsg-2ubuntu1.1 amd64 [installed]" the correct version? attached is the new make log (identical between no zstd and new zstd so theres just one) and the apt list of installed packages
is there potentially a way i could create the package on another system and use it on my main pc? i attempted that with checkinstall on my laptop but it was unlaunchable on both my laptop and pc
zstd is the application to use that particular compression algorithm, try uninstalling the library: libzstd-dev (and maybe libzstd1 if it still doesn't work).

(It looks like Dolphin wants libzstd 1.3.8+, maybe it should add version checks)
(06-27-2020, 04:50 AM)Neui Wrote: [ -> ]zstd is the application to use that particular compression algorithm, try uninstalling the library: libzstd-dev (and maybe libzstd1 if it still doesn't work).

(It looks like Dolphin wants libzstd 1.3.8+, maybe it should add version checks)

uninstalling libzstd-dev caused the error to change into

Code:
[ 33%] Building CXX object Source/Core/DiscIO/CMakeFiles/discio.dir/WIACompression.cpp.o
In file included from /home/jade/Scripts/dolphin/Source/Core/DiscIO/WIACompression.cpp:5:0:
/home/jade/Scripts/dolphin/Source/Core/DiscIO/WIACompression.h:15:10: fatal error: zstd.h: No such file or directory
#include <zstd.h>
         ^~~~~~~~
compilation terminated.
Source/Core/DiscIO/CMakeFiles/discio.dir/build.make:638: recipe for target 'Source/Core/DiscIO/CMakeFiles/discio.dir/WIACompression.cpp.o' failed
make[2]: *** [Source/Core/DiscIO/CMakeFiles/discio.dir/WIACompression.cpp.o] Error 1
CMakeFiles/Makefile2:1204: recipe for target 'Source/Core/DiscIO/CMakeFiles/discio.dir/all' failed
make[1]: *** [Source/Core/DiscIO/CMakeFiles/discio.dir/all] Error 2
Makefile:151: recipe for target 'all' failed
make: *** [all] Error 2
removing libzstd1 breaks dpkg and did not fix this.. good thing i knew that would happen and was able to fix it
my system does have zstd.h in several places, if i knew which one it was calling i should be able to remove it to use the dolphin provided one, right? how do i find that?
also, ive switched to using the installer script on the "Building for Linux" wiki page for this debugging process
I just installed Zorin OS to a VM to test this all out. Here's my procedure:
-I did a clean install of Zoris OS Core 15.2, which is based on Ubuntu 18
-I then ran 'sudo apt update && sudo apt upgrade --with-new-pkgs'
-Then I ran the 'sudo apt install [list of packages for Ubuntu 18 from Building for Linux page]'
-Then I git downloaded dolphin-emu, made a build folder, ran 'cmake ..', and ran 'make'
-The build failed at the expected point
-I ran 'sudo apt remove libzstd-dev'
-Then I deleted the build folder, made a new one, ran 'cmake ..', and ran 'make'
-Everything built correctly

So, leave libzstd1 (1.3.3) installed, but remove libzstd-dev (1.3.3) so that Dolphin falls back to the shared library, then clear/delete the build folder and re-running cmake/make fixed my problems.

Ubuntu 18 has this same problem since its using libzstd-dev 1.3.3 as well. Ubuntu 20 doesn't have this problem because it uses libzstd-dev 1.4.4.
oh thank you all so much it works!! one question though, the version it says is always 5.0 and netplay reflects this...... how do i do netplay like this? im building from cloning the commit listed when you click the version on the download page (specifically 5.0-11991).
If you want to pull a specific version of Dolphin, say for example the latest 5.0 Beta version (as of this posting 5.0-11991), you need to go into the 'dolphin-emu' folder and run the following:
Code:
git checkout 8d4e8314a3dcd8680ae81d91fb7e076b4496b43b
sudo rm -rf build
mkdir build && cd build
cmake ..
make

If you want to get back to the latest 5.0 Development build (as of this posting 5.0-12233), get to the 'dolphin-emu' folder and run:
Code:
git checkout master
git pull origin
sudo rm -rf build
mkdir build && cd build
cmake ..
make

Purging the 'build' folder may be a bit overkill, but it'll make sure you don't have any weirdness leftover when switching (like your weird second zstd problem, which I also encountered when switching between versions)
(06-28-2020, 12:39 PM)crispyLettuce Wrote: [ -> ]oh thank you all so much it works!! one question though, the version it says is always 5.0 and netplay reflects this...... how do i do netplay like this? im building from cloning the commit listed when you click the version on the download page (specifically 5.0-11991).

You probably didn't build Dolphin from a folder that is a git repo.
Pages: 1 2