diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-10-17 22:12:58 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-10-17 22:12:58 +0200 |
| commit | 3e8fe622a7d1dc8ff9d3a34d975b556b8fd35a94 (patch) | |
| tree | 374efb4578d3d99aef4564b1d6e13973aa8e9ac3 /docs/Deps.md | |
| parent | 1c90b099d3eb7991462b82dae340c3f8743e1755 (diff) | |
[compat] Solaris build fixes for openssl, catch2; NetBSD build fixes (#2752)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2752
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'docs/Deps.md')
| -rw-r--r-- | docs/Deps.md | 81 |
1 files changed, 50 insertions, 31 deletions
diff --git a/docs/Deps.md b/docs/Deps.md index b8a1be66d2..3c266ad98a 100644 --- a/docs/Deps.md +++ b/docs/Deps.md @@ -102,7 +102,7 @@ sudo pacman -Syu --needed base-devel boost catch2 cmake enet ffmpeg fmt git glsl <summary>Ubuntu, Debian, Mint Linux</summary> ```sh -sudo apt-get install autoconf cmake g++ gcc git glslang-tools libasound2t64 libboost-context-dev libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qt6-base-private-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev pkg-config zlib1g-dev libva-dev libvdpau-dev qt6-tools-dev libzydis-dev zydis-tools libzycore-dev vulkan-utility-libraries-dev libvulkan-dev spirv-tools spirv-headers libusb-1.0-0-dev libxbyak-dev +sudo apt-get install autoconf cmake g++ gcc git glslang-tools libglu1-mesa-dev libhidapi-dev libpulse-dev libtool libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build qt6-base-private-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev pkg-config zlib1g-dev libva-dev libvdpau-dev qt6-tools-dev libzydis-dev zydis-tools libzycore-dev libvulkan-dev spirv-tools spirv-headers libusb-1.0-0-dev libxbyak-dev libboost-dev libboost-fiber-dev libboost-context-dev libsdl2-dev libopus-dev libasound2t64 vulkan-utility-libraries-dev ``` * Ubuntu 22.04, Linux Mint 20, or Debian 12 or later is required. @@ -110,18 +110,28 @@ sudo apt-get install autoconf cmake g++ gcc git glslang-tools libasound2t64 libb </details> <details> -<summary>Fedora Linux</summary> +<summary>AlmaLinux, Fedora, Red Hat Linux</summary> +Fedora: ```sh -sudo dnf install autoconf ccache cmake fmt-devel gcc{,-c++} glslang hidapi-devel json-devel libtool libusb1-devel libzstd-devel lz4-devel nasm ninja-build openssl-devel pulseaudio-libs-devel qt6-linguist qt6-qtbase{-private,}-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel speexdsp-devel wayland-devel zlib-devel ffmpeg-devel libXext-devel +sudo dnf install autoconf cmake fmt-devel gcc{,-c++} glslang hidapi-devel json-devel libtool libusb1-devel libzstd-devel lz4-devel nasm ninja-build openssl-devel pulseaudio-libs-devel qt6-linguist qt6-qtbase{-private,}-devel qt6-qtwebengine-devel qt6-qtmultimedia-devel speexdsp-devel wayland-devel zlib-devel ffmpeg-devel libXext-devel boost jq ``` -* Force system libraries via CMake arguments: - * SDL2: `-DYUZU_USE_BUNDLED_SDL2=OFF -DYUZU_USE_EXTERNAL_SDL2=OFF` - * FFmpeg: `-DYUZU_USE_EXTERNAL_FFMPEG=OFF` -* [RPM Fusion](https://rpmfusion.org/) is required for `ffmpeg-devel` +AlmaLinux (use `YUZU_USE_CPM=ON`): +```sh +# vvv - Only if RPMfusion is not installed or EPEL isn't either +sudo dnf install epel-release dnf-utils +# (run rpmfusion installation afterwards) +# vvv - This will work for most systems +sudo dnf install autoconf cmake libtool libudev cmake gcc gcc-c++ qt6-qtbase-devel zlib-devel openssl-devel boost SDL2 ffmpeg-devel libdrm glslang jq patch +# Qt6 private GUI must be taken from CRB repos +sudo dnf config-manager --enable crb +sudo dnf install qt6-qtbase-private-devel +``` + +* [RPM Fusion](https://rpmfusion.org/Configuration) is required for `ffmpeg-devel` * Fedora 32 or later is required. -* Fedora 36+ users with GCC 12 need Clang and should configure CMake with: +* Fedora 36+ users with GCC 12 need Clang and should configure CMake with: `cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -B build` </details> <details> @@ -145,35 +155,33 @@ brew install molten-vk vulkan-loader <details> <summary>FreeBSD</summary> -``` -devel/cmake -devel/sdl20 -devel/boost-libs -devel/catch2 -devel/libfmt -devel/nlohmann-json -devel/ninja -devel/nasm -devel/autoconf -devel/pkgconf -devel/qt6-base - -net/enet +As root run: `pkg install devel/cmake devel/sdl20 devel/boost-libs devel/catch2 devel/libfmt devel/nlohmann-json devel/ninja devel/nasm devel/autoconf devel/pkgconf devel/qt6-base devel/simpleini net/enet multimedia/ffnvcodec-headers multimedia/ffmpeg audio/opus archivers/liblz4 lang/gcc12 graphics/glslang graphics/vulkan-utility-libraries graphics/spirv-tools www/cpp-httplib devel/jwt-cpp devel/unordered-dense devel/zydis` -multimedia/ffnvcodec-headers -multimedia/ffmpeg +If using FreeBSD 12 or prior, use `devel/pkg-config` instead. +</details> -audio/opus +<details> +<summary>NetBSD</summary> -archivers/liblz4 +Install `pkgin` if not already `pkg_add pkgin`, see also the general [pkgsrc guide](https://www.netbsd.org/docs/pkgsrc/using.html). For NetBSD 10.1 provide `cat 'PKG_PATH="https://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/x86_64/10.0_2025Q3/All/"' >/etc/pkg_install.conf`. If `pkgin` is taking too much time consider adding the following to `/etc/rc.conf`: +``` +ip6addrctl=YES +ip6addrctl_policy=ipv4_prefer +``` -lang/gcc12 +For NetBSD +10.1: `pkgin install git cmake boost fmtlib SDL2 catch2 libjwt spirv-headers ffmpeg7 libva nlohmann-json jq libopus qt6 mbedtls3 cpp-httplib lz4 vulkan-headers nasm autoconf enet pkg-config libusb1`. -graphics/glslang -graphics/vulkan-utility-libraries +glslang is not available on NetBSD, to circumvent this simply build glslang by yourself: +```sh +pkgin python313 +git clone https://github.com/KhronosGroup/glslang.git +cd glslang +python3.13 ./update_glslang_sources.py +cmake -B build -DCMAKE_BUILD_TYPE=Release +cmake --build build -- -j`nproc` +cmake --install build ``` -If using FreeBSD 12 or prior, use `devel/pkg-config` instead. </details> <details> @@ -181,8 +189,9 @@ If using FreeBSD 12 or prior, use `devel/pkg-config` instead. ```sh pkg_add -u -pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gmake llvm-19.1.7p3 qt6 jq fmt nlohmann-json enet boost vulkan-utility-libraries vulkan-headers spirv-headers spirv-tools catch2 sdl2 libusb1.1.0.27 +pkg_add cmake nasm git boost unzip--iconv autoconf-2.72p0 bash ffmpeg glslang gmake llvm-19.1.7p3 qt6 jq fmt nlohmann-json enet boost vulkan-utility-libraries vulkan-headers spirv-headers spirv-tools catch2 sdl2 libusb1-1.0.27 ``` + </details> <details> @@ -210,6 +219,16 @@ Then install the libraries: `sudo pkg install qt6 boost glslang libzip library/l * `echo 'PATH=$(readlink -e /c/VulkanSDK/*/Bin/):$PATH' >> ~/.bashrc` </details> +<details> +<summary>RedoxOS</summary> + +```sh +sudo pkg update && sudo pkg install git cmake +sudo pkg install ffmpeg6 sdl2 zlib llvm18 +``` + +</details> + ## All Done You may now return to the **[root build guide](Build.md)**. |
