Build for Linux

This commit is contained in:
Stay 2024-03-06 22:24:41 +01:00
parent 975f07540b
commit a42e3bfe92
No known key found for this signature in database
GPG Key ID: EBB5269EA8782664

View File

@ -1,29 +1,15 @@
# Yuzu
[Releases](https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu/-/releases)
# Building
## Linux
I'm not able to build Yuzu from the backed up source code because there's a link error with [mbedtls](https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mbedtls).
If someone has an up to date mbedtls clone from the now deleted yuzu-emu/mbedtls or knows how to fix the following error please reach to me on Discord `@Stay1444`.
```
[12/106] Linking CXX executable bin/yuzu-cmd
FAILED: bin/yuzu-cmd
< bunch of stuff >
mold: error: undefined symbol: mbedtls_cipher_cmac
>>> referenced by key_manager.cpp
>>> src/core/libcore.a(src/core/CMakeFiles/core.dir/crypto/key_manager.cpp.o):(Core::Crypto::KeyManager::DeriveBase())
collect2: error: ld returned 1 exit status
[13/106] Building CXX object src/yuzu/CMakeFiles/yuzu.dir/cmake_pch.hxx.gch
ninja: build stopped: subcommand failed.
```
### Step 1: Clone the project
Clone the project recursively
```sh
$ git clone --recursive https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu
```
@ -36,13 +22,28 @@ We need to make some changes because SPIRV Shaders throws an error otherwise. If
$ rm -rf externals/sirit/externals
```
Then edit `externals/sirit/CMakeLists.txt` and enable "Use system SPIR-V Headers".
Then edit `externals/sirit/CMakeLists.txt` and enable "Use system SPIR-V Headers".
Like this:
```
option(SIRIT_USE_SYSTEM_SPIRV_HEADERS "Use system SPIR-V headers" ON)
```
### Step 3: Build
### Step 3: Configure MBEDTLS
Open `externals/mbedtls/include/mbedtls/config.h` with a text editor and search for the following line:
```
//#define MBEDTLS_CMAC_C
```
You should uncomment that so it ends like this:
```
#define MBEDTLS_CMAC_C
```
### Step 4: Build
Create a directory named `build` and cd into it.
@ -61,4 +62,5 @@ Once that is done you can build it with
```sh
$ ninja
```
```