mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:47:35 +00:00
Meta+Documentation: Require Xcode 14.3 or Clang 14 for the host compiler
There have been multiple reports of Xcode 14.0 (based on upstream LLVM 14) segfaulting when compiling `LibCore/Process.cpp`. Let's require Xcode 14.3, which is a known good version based on LLVM 15. Note that Xcode 14.3 requires macOS Ventura, so users of Monterey or older are expected to get Homebrew Clang instead. Homebrew Clang 13 also suffers from the same crash. Although I have not tested on Linux, the backtrace points to the middle-end, so x86_64 is also likely to be affected. LLVM 14 was released 14 months ago, so it's not an unreasonable requirement.
This commit is contained in:
parent
e5618b17c4
commit
4202bb597b
6 changed files with 20 additions and 14 deletions
|
@ -11,9 +11,9 @@ sudo apt install build-essential cmake curl libmpfr-dev libmpc-dev libgmp-dev e2
|
|||
```
|
||||
Optional: `fuse2fs` for [building images without root](https://github.com/SerenityOS/serenity/pull/11224).
|
||||
|
||||
#### GCC 12 or Clang 13
|
||||
#### GCC 12 or Clang 14
|
||||
|
||||
A host compiler that supports C++20 features is required for building host tools, the newer the better. Tested versions include gcc-12 and clang-13.
|
||||
A host compiler that supports C++20 features is required for building host tools, the newer the better. Tested versions include gcc-12 and clang-14.
|
||||
|
||||
On Ubuntu gcc-12 is available in the repositories of 22.04 (Jammy) and later.
|
||||
If you are running an older version, you will either need to upgrade, or find an alternative installation source.
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Build Prerequisites
|
||||
|
||||
Qt6 development packages and a C++20 capable compiler are required. gcc-12 or clang-13 are required at a minimum for c++20 support.
|
||||
Qt6 development packages and a C++20 capable compiler are required. gcc-12 or clang-14 are required at a minimum for c++20 support.
|
||||
|
||||
On Debian/Ubuntu required packages include, but are not limited to:
|
||||
|
||||
|
@ -39,7 +39,7 @@ nix-shell ladybird.nix
|
|||
|
||||
On macOS:
|
||||
|
||||
Note that Xcode 13.x does not have sufficient C++20 support to build ladybird. Xcode 14.x or clang from homebrew may be required to successfully build ladybird.
|
||||
Note that Xcode 13.x does not have sufficient C++20 support to build ladybird. Xcode 14 versions before 14.3 might crash while building ladybird. Xcode 14.3 or clang from homebrew may be required to successfully build ladybird.
|
||||
|
||||
```
|
||||
xcode-select --install
|
||||
|
@ -103,7 +103,7 @@ The install rules in Ladybird/cmake/InstallRules.cmake define which binaries and
|
|||
installed into the configured CMAKE_PREFIX_PATH or path passed to ``cmake --install``.
|
||||
|
||||
Note that when using a custom build directory rather than Meta/serenity.sh, the user may need to provide
|
||||
a suitable C++ compiler (g++ >= 12, clang >= 13, Apple Clang >= 14) via the CMAKE_CXX_COMPILER and
|
||||
a suitable C++ compiler (g++ >= 12, clang >= 14, Apple Clang >= 14.3) via the CMAKE_CXX_COMPILER and
|
||||
CMAKE_C_COMPILER cmake options.
|
||||
|
||||
```
|
||||
|
|
|
@ -27,7 +27,7 @@ brew install genext2fs
|
|||
brew install x86_64-elf-gdb
|
||||
```
|
||||
|
||||
If you have Xcode version 13 or older, also install a newer host compiler from homebrew. Xcode 14 is known to work.
|
||||
If you have Xcode version 14.2 or older, also install a newer host compiler from homebrew. Xcode 14.3 is known to work.
|
||||
|
||||
```console
|
||||
brew install llvm@15
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue