From 3e9ec65098d68670feeb02d6e1460c50904aa80b Mon Sep 17 00:00:00 2001 From: Steveice10 <1269164+Steveice10@users.noreply.github.com> Date: Tue, 19 Dec 2023 03:04:04 -0800 Subject: [PATCH] Clang 15+ is required to build correctly. --- Building-for-Linux.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Building-for-Linux.md b/Building-for-Linux.md index d5b43a4..2fffe65 100644 --- a/Building-for-Linux.md +++ b/Building-for-Linux.md @@ -88,8 +88,9 @@ You'll need to download and install the following to build Citra: - Arch: `pacman -S base-devel` - Fedora: `dnf install gcc-c++` - OpenSUSE: `zypper in gcc-c++` - * [Clang](https://github.com/llvm-mirror/clang) 9.0+ - - Deb: `apt install clang clang-format libc++-dev` (in some distros, clang-9.0). + * [Clang](https://github.com/llvm-mirror/clang) 15.0+ + - Deb: `apt install clang clang-format libc++-dev` + - Note for Ubuntu users: Clang 15 is available only from 22.10 onward. For earlier distro versions, see: https://apt.llvm.org/ - Arch: `pacman -S clang`, `libc++` is in the AUR. Use pacaur or yaourt to install it. - Fedora: `dnf install clang libcxx-devel` - OpenSUSE: `zypper in clang` @@ -120,7 +121,6 @@ cmake ../ cmake --build . -- -j"$(nproc)" sudo make install (optional) ``` -- To enable HLE AAC Decoding, use `cmake .. -DENABLE_FFMPEG_AUDIO_DECODER=ON` instead. Optionally, you can use "cmake -i .." to adjust various options (e.g. disable the Qt GUI). @@ -136,6 +136,9 @@ cmake .. -DCMAKE_CXX_COMPILER=clang++-5.0 \ -DCMAKE_CXX_FLAGS="-O2 -g -stdlib=libc++" cmake --build . -- -j"$(nproc)" sudo make install (optional) + +If you get a weird compile error related to `std::span` conversions, make sure you are using clang and libc++ 15 or up. This is an issue with libc++ 14. + ``` ### Building Citra in Release Mode (Optimized): @@ -147,7 +150,6 @@ cmake .. -DCMAKE_BUILD_TYPE=Release cmake --build . -- -j"$(nproc)" sudo make install (optional) ``` -- To enable HLE AAC Decoding, use `cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_FFMPEG_AUDIO_DECODER=ON` instead. ### Building with debug symbols: