# 🐌 Custom installation

This section covers the normal ALICE software installation on your computer without using our custom environment. Using alidock remains the preferred installation option: if you do not have good reasons not to use it, we recommend you switch to it.

Building software has become an increasingly complicated operation, as our software has many dependencies and we expect it to work both on your laptop and on the Grid. In addition, we support many Linux distributions and recent macOS versions.

Most of the paths and procedures presented here can be adapted to your system and your taste. You can for instance decide to use different path names, or a different directory structure, it's up to you, however we do not recommend you use different ways of installing the required dependencies.

In case you do not have particular needs, or you don't know what you are doing, please follow the procedure very carefully and without diverging from it at all.

This will make support easier in case something does not work as expected.

## aliBuild

ALICE uses aliBuild to build software. aliBuild:

• knows how to build software via per-package recipes,
• manages the dependencies consistently,
• rebuilds only what's necessary,
• allows several versions of the same software to be installed at the same time.

## Operating systems we support

As per policy, the primary supported platform is CERN CentOS 7: this is also our official deployment platform for Run 3 software. Given the popularity of other operating systems on laptops (including macOS), we provide a containerized installation method that allows you to keep using your favourite operating system by still having a consistent environment:

Other operating systems, such as macOS, are supported as development platforms and on a best-effort basis. It is easier for us to support a single known environment through alidock.

### Prerequisites

According to your operating system, please follow the prerequisites below. You will find a list of packages to install and configurations to perform.

Primary supported platform:

• CentOS 7 (no need to follow it if using alidock)

Platforms supported on a best-effort basis:

If your operating system is not in any list, it does not mean our software won't work on it; it will be just more difficult for you to get support for it.

Install or upgrade aliBuild with pip:

sudo pip install alibuild --upgrade


Now add the two following lines to your ~/.bashrc or ~/.bash_profile (depending on your configuration):

export ALIBUILD_WORK_DIR="$HOME/alice/sw" eval "alienv shell-helper"  The first line tells what directory is used as "build cache", the second line installs a "shell helper" that makes easier to run certain aliBuild-related commands. You need to close and reopen your terminal for the change to be effective. The directory ~/alice/sw will be created the first time you run aliBuild. Note that this directory tends to grow in size over time, and it is the one you need to remove in case of cleanups. ### I don't have root permissions In case you don't have root permissions, one of the possibilities is installing aliBuild under a user-owned directory. Start with opening your ~/.bashrc or ~/.bash_profile (this depends on your system), and add the following lines: export PYTHONUSERBASE="$HOME/user_python"
export PATH="$PYTHONUSERBASE/bin:$PATH"


Now close all your terminals and reopen them to load the new configuration. Check if it works by printing the variable:

echo \$PYTHONUSERBASE


The operations above need to be performed only once. Now, to install or upgrade aliBuild, just do:

pip install alibuild --upgrade --user


This time we did not specify sudo and we have added the --user option. The Python variable PYTHONUSERBASE tells pip where to install the package.

Verify you have aliBuild in your path:

type aliBuild


### I need a special version of aliBuild

In some cases you might want to install a "release candidate" version, or you want to get the code directly from GitHub. By default, the last stable version is installed. Do not install a special version of aliBuild if you were not instructed to do so or if you don't know what you are doing, we provide no support for unstable releases!

To install a release candidate (for instance, v1.5.1rc3):

sudo pip install alibuild=v1.5.1rc3 --upgrade


To install from GitHub (you can specify a tag or a hash, or another branch, instead of master):

sudo pip install git+https://github.com/alisw/alibuild@master --upgrade


Do not forget to drop sudo and add --user in case you do not have root permissions!

## Build the packages

When aliBuild is installed on your computer and your prerequisites are satisfied, you can move to the next step.