In addition to the many applications available through modules (deployed through EasyBuild packaging system) we provide an alternative source of applications on our clusters inferred from [Gentoo Linux](https://www.gentoo.org/). The user's environment is setup through a script which returns a bash instance to the user (you can think of it a starting a whole virtual machine but inside your current namespace) . The applications were optimized by gcc compiler for the SandyBridge and IvyBridge platforms. The binaries use paths from /apps/gentoo prefix to find the required runtime dependencies, config files, etc. The Gentoo Linux is a standalone installation not even relying on the glibc provided by host operating system (Redhat). The trick which allowed us to install Gentoo Linux on the host Redhat system is called Gentoo::RAP and uses a modified loader with a hardcoded path ([links](https://wiki.gentoo.org/wiki/Prefix/libc)).
Starting the environment
------------------------
```bash
$ /apps/gentoo/startprefix
mmokrejs@login2~$ /apps/gentoo/startprefix
```
Starting PBS jobs using the applications
...
...
@@ -20,7 +19,7 @@ Starting PBS jobs using the applications
Create a template file which can be used and an argument to qsub command. Notably, the 'PBS -S' line specifies full PATH to the Bourne shell of the Gentoo Linux environment.
```bash
$ cat myjob.pbs
mmokrejs@login2~$ cat myjob.pbs
#PBS -S /apps/gentoo/bin/sh
#PBS -l nodes=1:ppn=16,walltime=12:00:00
#PBS -q qfree
...
...
@@ -44,15 +43,15 @@ Reading manual pages for installed applications
-----------------------------------------------
```bash
$ man -M /apps/gentoo/usr/share/man bwa
$ man -M /apps/gentoo/usr/share/man samtools
mmokrejs@login2~$ man -M /apps/gentoo/usr/share/man bwa
mmokrejs@login2~$ man -M /apps/gentoo/usr/share/man samtools
@@ -232,14 +231,13 @@ Classification of applications

Other applications available through Gentoo Linux
-------------------------------------------------
Gentoo Linux is a allows compilation of its applications from source code while using compiler and optimize flags set to user's wish. This facilitates creation of optimized binaries for the host platform. Users maybe also use several versions of gcc, python and other tools.