---
id: Linux
title: Building on Linux
tags:
  - Build Instructions
  - Compiling
  - Linux
---
# Building the Viewer on Linux

## Step 0: I am in a hurry

```
git clone https://git.alchemyviewer.org/XenHat/linux-build-script
git clone https://git.alchemyviewer.org/alchemy/alchemy-next.git 
cd alchemy-next
bash ../linux-build-script/build_alchemy.bash
```

## Step 1: Install Requirements
### Required Software
* A Linux distribution
* A terminal emulator or a TTY
* A file system

#### Distribution-agnostic requirements
* Git
* Python 3.10+
  * Python Pip module
* Python Virtualenv
* The *GNU Compiler Collection* or the *C language family frontent for LLVM*

#### Distribution-specific dependencies

The packages you will neeed depends on your linux distribution and package manager.

A non-exhaustive list would be:

* GLU
* libGL
* libIconv
* libIDN
* libJPEG-turbo
* libPNG
* libXSS
* libXML2
* mesa
* NSS
* OpenAL
* python VirtualEnv
* SDL2
* libVLC
* XZ compression format support
* Zlib

For an up to date list of packages for your distribution, consult [this repository](https://git.alchemyviewer.org/XenHat/linux-build-script/-/tree/main/packages?ref_type=heads)

### Intermediate Check

Confirm things are installed properly so far by opening a terminal and typing:

```
git --version
python --version
pip --version
clang --version || gcc --version
```

If everything reported sensible values and not "Command not found" errors, then you are in good shape!

## Step 2: Clone the viewer source

Open a terminal and clone the viewer source to a directory of your choosing without spaces or special characters:

```
cd ~
mkdir -p src/secondlife
cd ~/src/secondlife
git clone https://git.alchemyviewer.org/alchemy/alchemy-next.git
```

## Step 3: Setup a Python Virtual Environment

Once you've cloned the viewer source code change directories to the viewer source and create a Python virtual environment:

### Virtual Environment Creation
```
cd ~/src/secondlife/alchemy-next
virtualenv -p python3 .venv
source .venv/bin/activate
```

### Package Installation
Then install the following packages using the command below:

* `cmake`
* `llbase`
* `llsd`
* `certifi`
* `autobuild`
* `ninja`

```
pip install --upgrade cmake llbase llsd certifi autobuild ninja
```

## Step 4: Generate the Build Configuration

The next steps will create a build environment with the required packages installed.

```
autobuild configure -c ReleaseOS -A64 -- -DLL_TESTS=OFF -DDISABLE_FATAL_WARNINGS=ON
```

## Step 5: Build the Viewer

The final command will start a viewer build and output to `build-linux-64/newview/packaged`

```
autobuild build -c ReleaseOS -A64 --no-configure
```
