fix: Update Linux build instructions (#5262)

This commit is contained in:
pajlada 2024-03-24 12:48:00 +01:00 committed by GitHub
parent ca69172479
commit 00119a8e3e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,38 +1,49 @@
# Linux # Linux
Note on Qt version compatibility: If you are installing Qt from a package manager, please ensure the version you are installing is at least **Qt 5.12 or newer**. For all dependencies below we use Qt6. Our minimum supported version is Qt5.15, but you are on your own.
## Install dependencies ## Install dependencies
### Ubuntu 20.04 ### Ubuntu
_Most likely works the same for other Debian-like distros._ Building on Ubuntu requires Docker.
Install all the dependencies using `sudo apt install qttools5-dev qt5-image-formats-plugins libqt5svg5-dev libboost-dev libssl-dev libboost-system-dev libboost-filesystem-dev cmake g++ libsecret-1-dev` Use https://github.com/Chatterino/docker/pkgs/container/chatterino2-build-ubuntu-20.04 as your base if you're on Ubuntu 20.04.
Use https://github.com/Chatterino/docker/pkgs/container/chatterino2-build-ubuntu-22.04 if you're on Ubuntu 22.04.
The built binary should be exportable from the final image & able to run on your system assuming you perform a static build. See our [build.yml github workflow file](.github/workflows/build.yml) for the cmake line used for Ubuntu builds.
### Debian 12 (bookworm) or later
```sh
sudo apt install qt6-base-dev qt6-5compat-dev qt6-svg-dev qt6-image-formats-plugins libboost1.81-dev libssl-dev cmake g++ git
```
### Arch Linux ### Arch Linux
Install all the dependencies using `sudo pacman -S --needed qt5-base qt5-imageformats qt5-svg qt5-tools boost rapidjson pkgconf openssl cmake` ```sh
sudo pacman -S --needed qt6-base qt6-tools boost-libs openssl qt6-imageformats qt6-5compat qt6-svg boost rapidjson pkgconf openssl cmake
```
Alternatively you can use the [chatterino2-git](https://aur.archlinux.org/packages/chatterino2-git/) package to build and install Chatterino for you. Alternatively you can use the [chatterino2-git](https://aur.archlinux.org/packages/chatterino2-git/) package to build and install Chatterino for you.
### Fedora 28 and above ### Fedora 39 and above
_Most likely works the same for other Red Hat-like distros. Substitute `dnf` with `yum`._ _Most likely works the same for other Red Hat-like distros. Substitute `dnf` with `yum`._
Install all the dependencies using `sudo dnf install qt5-qtbase-devel qt5-qtimageformats qt5-qtsvg-devel qt5-linguist libsecret-devel openssl-devel boost-devel cmake` ```sh
sudo dnf install qt6-qtbase-devel qt6-qtimageformats qt6-qtsvg-devel qt6-qt5compat-devel g++ git openssl-devel boost-devel cmake
```
### NixOS 18.09+ ### NixOS 18.09+
Enter the development environment with all the dependencies: `nix-shell -p openssl boost qt5.full pkg-config cmake` ```sh
nix-shell -p openssl boost qt6.full pkg-config cmake
```
## Compile ## Compile
### Through Qt Creator
1. Install C++ IDE Qt Creator by using `sudo apt install qtcreator`
1. Open `CMakeLists.txt` with Qt Creator and select build
## Manually ## Manually
1. In the project directory, create a build directory and enter it 1. In the project directory, create a build directory and enter it
@ -42,9 +53,14 @@ Enter the development environment with all the dependencies: `nix-shell -p opens
``` ```
1. Generate build files 1. Generate build files
```sh ```sh
cmake .. cmake -DBUILD_WITH_QT6=ON -DBUILD_WITH_QTKEYCHAIN=OFF ..
``` ```
1. Build the project 1. Build the project
```sh ```sh
make cmake --build .
``` ```
### Through Qt Creator
1. Install C++ IDE Qt Creator by using `sudo apt install qtcreator` (Or whatever equivalent for your distro)
1. Open `CMakeLists.txt` with Qt Creator and select build