Skip to content

Commit 09563e1

Browse files
committed
Add basic linux build instructions
Signed-off-by: Rye <[email protected]>
1 parent 76837f9 commit 09563e1

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed

doc/BUILD.LINUX.md

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Building on Linux
2+
3+
## Install Dependencies
4+
5+
### AlmaLinux 10
6+
```
7+
sudo dnf group install "Development Tools"
8+
sudo dnf install cmake fontconfig-devel git glib2-devel gstreamer1-devel gstreamer1-plugins-base-devel libX11-devel mesa-libOSMesa-devel libglvnd-devel ninja-build python3 vlc-devel wayland-devel
9+
```
10+
> [!NOTE]
11+
> You may need to enable the EPEL repository for some packages `sudo dnf install epel-release`
12+
13+
### Arch
14+
```
15+
sudo pacman -Syu base-devel cmake fontconfig git glib2-devel gstreamer gst-plugins-base-libs ninja libglvnd libvlc libx11 python wayland
16+
```
17+
18+
### Debian - Ubuntu 22.04 - Ubuntu 24.04
19+
```
20+
sudo apt install build-essential cmake git libfontconfig-dev libglib2.0-dev libglvnd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libosmesa6-dev libvlc-dev libwayland-dev libx11-dev ninja-build python3 python3-venv
21+
```
22+
23+
### Fedora
24+
```
25+
sudo dnf install @development-tools @c-development cmake fontconfig-devel git glib-devel gstreamer1-devel gstreamer1-plugins-base-devel libX11-devel mesa-compat-libOSMesa-devel libglvnd-devel ninja-build python3 vlc-devel wayland-devel
26+
```
27+
28+
### OpenSUSE Tumbleweed
29+
```
30+
sudo zypper in -t pattern devel_basis devel_C_C++
31+
sudo zypper install cmake fontconfig-devel git glib2-devel gstreamer-devel gstreamer-plugins-base-devel libglvnd-devel libX11-devel ninja Mesa-libGL-devel python3 vlc-devel wayland-devel
32+
```
33+
34+
## Create development folders
35+
```
36+
mkdir -p ~/code/secondlife
37+
cd ~/code/secondlife
38+
```
39+
40+
## Setup Virtual Environment and install Autobuild
41+
```
42+
python3 -m venv .venv
43+
source .venv/bin/activate
44+
pip install autobuild llsd
45+
```
46+
> [!NOTE]
47+
> If the above was successful you should receive output similar to `autobuild 3.10.2` when running `autobuild --version`
48+
49+
## Setup Build Variables
50+
```
51+
git clone https://github.com/secondlife/build-variables.git
52+
export AUTOBUILD_VARIABLES_FILE=~/code/secondlife/build-variables/variables
53+
```
54+
55+
## Clone Viewer
56+
```
57+
git clone https://github.com/secondlife/viewer.git
58+
cd ~/code/secondlife/viewer
59+
```
60+
61+
## Configure Viewer
62+
63+
### GCC
64+
```
65+
autobuild configure -c ReleaseOS -A64
66+
```
67+
68+
### Clang
69+
```
70+
autobuild configure -c ReleaseOS -- -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_LINKER_TYPE=LLD
71+
```
72+
73+
## Build Viewer
74+
```
75+
autobuild build -c ReleaseOS --no-configure
76+
```
77+
78+
> [!NOTE]
79+
> If the above was successful you should find the viewer package in `viewer/build-linux-x86_64/newview`

0 commit comments

Comments
 (0)