Skip to content
Merged
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 32 additions & 3 deletions docs/workflow/requirements/linux-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,14 @@ Install Docker. For further installation instructions, see [here](https://docs.d

## Environment

These instructions are written assuming the current Ubuntu LTS. Pull Requests are welcome to address other environments.
Below are the requirements for toolchain setup, depending on your environment. Pull Requests are welcome to address other environments.

Minimum RAM required to build is 1GB. The build is known to fail on 512 MB VMs ([dotnet/runtime#4069](https://github.com/dotnet/runtime/issues/4069)).

### Toolchain Setup

### Debian-based / Ubuntu

These instructions are written assuming the current Ubuntu LTS.

Install the following packages for the toolchain:

Expand Down Expand Up @@ -71,7 +74,33 @@ If you are planning to use your Linux environment to do cross-building for other

**NOTE**: These dependencies are used to build the `crossrootfs`, not the runtime itself.

### Gentoo Special Case
### Fedora

These instructions are written assuming Fedora 40.

Install the following packages for the toolchain:

* cmake
* llvm
* lld
* lldb
* clang
* python
* curl
* git
* libicu-devel
* openssl-devel
* krb5-devel
* zlib-devel
* lttng-ust-devel
* ninja-build (optional, enables building native code with ninja instead of make)

```bash
sudo dnf install -y cmake llvm lld lldb clang python curl git libicu-devel openssl-devel \
Copy link
Member

@am11 am11 Jul 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can add it in install script as well while at it: am11@500300e (in the script, we assume git was already installed, since user cloned the repo, and ninja is optional; least required deps doesn't hurt to add them as you see fit 🙂)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good to me. @am11 Would you like to submit a PR?

(Also, zlib-devel should not be needed anymore - for both Debian and Fedora.)

krb5-devel zlib-devel lttng-ust-devel ninja-build
```

### Gentoo

In case you have Gentoo you can run following command:

Expand Down