Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Linux development environment setup instructions. #33

Merged
merged 1 commit into from
Nov 27, 2023
Merged
Changes from all 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
18 changes: 16 additions & 2 deletions linux/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,29 @@ Execute the following commands in a shell:

```bash
sudo apt update
sudo apt-get install -y build-essential git ninja-build clang clang-format clang-tidy llvm lldb gnupg gdb zip unzip tar curl pkg-config wget
sudo apt-get install -y build-essential ca-certificates cmake curl dotnet7 git gnupg2 linux-libc-dev ninja-build pkg-config tar unzip zip
```

Then remove the pre-installed version of llvm-16, and install llvm-17 with the automated install script:

```bash
sudo apt-get remove -y --purge clang-16* lldb-16* llvm-16*
sudo apt-get install -y --no-install-recommends lsb-release software-properties-common wget
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
./llvm.sh 17 all
rm llvm.sh
```

The above will install all the tools required to compile, lint, and debug the project. If hostapd will also be compiled ([git://w1.fi/hostap.git](git://w1.fi/hostap.git)), install the following additional development dependencies:

```bash
sudo apt-get install -y libnl-3-dev libssl-dev libwpa-client-dev libnl-genl-3-dev
sudo apt-get install -y libnl-3-dev libssl-dev libnl-genl-3-dev libnl-3-dev libdbus-c++-dev libnl-route-3-dev flex bison dwarves libelf-dev bc
```

> [!NOTE]
> The source of truth for installing development dependencies is found in the development environment [Dockerfile](../.docker/netremote-dev/Dockerfile). The instructions there always trump the instructions here as the contianer described by the `Dockerfile` is used to build the official package.

### 3. Install Docker on Windows

Download and install docker from [https://docs.docker.com/desktop/install/windows-install](https://docs.docker.com/desktop/install/windows-install) ([amd64](https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe)). During the installation, ensure the `Use WSL 2 instead of Hyper-V (recommended)` box is checked.
Loading