Installation

You can fetch and update AliEn installation using alien-installer as described below, or

you can also try to compile AliEn from the sources using BuildSystem.

  1. Prerequisites  
  2. Fetching alien-installer
  3. Installing AliEn user distribution
  4. Configuring AliEn
  5. Advanced: ROOT compilation
  6. Advanced: AliRoot compilation
  7. Known installation issues

 

Prerequisites


Required packages

  • A working GNU tool chain (gcc, bash, GNU make, flex, BSD yacc, gettext etc.) and additional GNU tools like dialog, tar, gzip, bzip2, md5sum, patch and wget.
  • A grid certificate and private key of your VO.

Supported platforms

          Main operating system supported is SLC5/6 and Ubuntu, but it can be installed on other different Linux flavor.

  • 64 bit x86_64, any Linux distribution, glibc-2.5 or higher

        Pre-build AliEn distribution is available for the following OS

  • x86_64-unknown-linux-gnu 
  • SLC6-x86_64   
  • Ubuntu-64bits

Fetching alien-installer


 

Get the AliEn installer using either wget or curl:

wget http://alien.cern.ch/alien-installer
or
curl http://alien.cern.ch/alien-installer -o alien-installer

Make the file executable:

chmod +x alien-installer

Installing AliEn user distribution


Default Installation

Default AliEn installation will install the User version that contains the shell client and the libraries needed by the users to connect and work with AliEn middleware. The user version is compiled on the user machine, it does not download prebuild packages.

The precompiled version is still available but it is NOT the default version. In order to install the precompiled version run

./alien-installer --type user

 

User installation prerequirements

The following packages needs to be installed in order to compile user distribution

1. libtool, autoconf, automake

2. zlib-devel

3. libxml-devel

4. libssl-devel

 

Launch the installer as demonstrated below. There will be a 10 second pause before the installation will commence. During which time ensure that the platform and the installation directory are correctly detected.

[pcepalice10] /home/alienmaster > ./alien-installer
###################### Automated AliEn user installer ##############################
Installing in the default directory: /home/alienmaster/alien
If you wish to install in a specific directory do: ./alien-installer -install-dir
Platform set as: x86_64-unknown-linux-gnu
Waiting 10 seconds. Press 'Ctrl+c' to exit the installation.....

 

If you do not interrupt, the installer will automatically detect your environment, get the latest version of AliEn and finally

install the user distribution on your system.

If you already have installed the latest version of AliEn the installer will do nothing, just inform that AliEn is up to date


./alien-installer
###################### Automated AliEn compile installer ##############################
Installing in the default directory: /home/alinag/alien
If you wish to install in a specific directory do: ./alien-installer -install-dir
Platform set as Ubuntu: x86_64-unknown-linux-gnu
Checking the version to be installed (if it is newer than v2-19.181)
You have the latest version installed (v2-19.181). No installation is necessary
Installation cancelled

If the installation is a fresh one or AliEn version is not up to date the installer will start to download and compile the user packages needed by AliEn.


./alien-installer
###################### Automated AliEn compile installer ##############################
Installing in the default directory: /home/alinag/alienbr />

If you wish to install in a specific directory do: ./alien-installer -install-dir
Platform set as Ubuntu: x86_64-unknown-linux-gnu
Waiting 10 seconds. Press 'Ctrl+c' to exit the installation..........
Compiling packages : xrootd xrootd-xalienfs into /home/alinag/alien.v2-19.181
Building package xrootd
Building package xrootd-xalienfs
Relocating the compile installation.   Done
Installation finished!

 
Installing a specific version (for example v.2-18)
 
To install a slecific AliEn version, please use the '-version' option of the alien-installer:
 
./alien-installer -version v2-18 -(other options)

By default, you will find a version tagged alien folder together with a link called alien in your home folder:

[pcepalice10] /home/alienmaster > ls -all
total 32
-rwxr-xr-x  1 alienmaster alienmaster 19363 2010-04-12 10:41 alien-installer
drwxr-xr-x 11 alienmaster alienmaster  4096 2010-04-13 12:54 alien.v2-18.14
lrwxrwxrwx  1 alienmaster alienmaster 14 2010-04-13 12:54 alien -> /home/alienmaster/alien.v2-18.14
 

Installing in user specified directory

To install AliEn in a specific directory call the installer with a parameter -install-dir followed by your desired installation folder:

[pcepalice10] /home/alienmaster > ./alien-installer -install-dir MyAliEn
###################### Automated AliEn user installer ##############################
Installing in the user specified directory: /home/alienmaster/MyAliEn
Platform set as: x86_64-unknown-linux-gnu
Waiting 10 seconds. Press 'Ctrl+c' to exit the installation.....................

Compiling packages : xrootd xrootd-xalienfs into /home/alienmaster/MyAliEn
Building package xrootd
Building package xrootd-xalienfs
Relocating the compile installation.   Done
Installation finished!

 

Your specified folder name will be used as a prefix for a version tagged folder name and a coresponding link.

[pcepalice10] /home/alienmaster > ls -all
total 32
-rwxr-xr-x  1 alienmaster alienmaster 19363 2010-04-12 10:41 alien-installer
drwxr-xr-x 11 alienmaster alienmaster  4096 2010-04-13 12:54 alien.v2-18.14
lrwxrwxrwx  1 alienmaster alienmaster 14 2010-04-13 12:54 MyAliEn -> /home/alienmaster/alien.v2-18.14
 
 
Installation types
 
To install a slecific AliEn version, please use the '-version' option of the alien-installer:
 
./alien-installer -version v2-18 -(other options)
 

The auto installer accepts to following options:

 
alienmaster@pcalice:$ ./alien-installer OPTIONS
 
-type [ workernode | vobox | user | all ] # Specify the type of installation
 
-version # Force to install a certain version
 
-skip_rc # Skip the configuration file in ~/.alien/installer.rc
 
-restart # Trigger to restart the services after installation
 
-batch # Suppress 10 seconds interruption delay

Upgrading / Reinstalling AliEn

If you were using AliEn already before with a user account, it is recommended to delete not only the old installation folder of AliEn but also ~/.alien/cache and ~/.alien/installer.rc before you start a new installation. The installer will automatically detect the ./alien files and ask whether you want to delete them at the start of the installation.

 

If you decide to install AliEn in the directory that already has an AliEn installation, the installer will adapt the new installation location in order to avoid any naming conflicts with older distributions.

 

Warning: If you have the old AliEn installed in /opt/alien and you install the new AliEn in a directory different from /opt/alien, you must  remove either the old installation or the /opt/alien symbolic link. This eliminates conflicts between the new and old distribution.

Configuring AliEn


Grid Certificates

In case that you don't have a Grid certificate please follow these instructions about how to obtain one.

The AliEn user distribution will expect your certicate and key files to be located in: ~/.globus

[pcepalice10] ~/.globus$ ls -all
total 16
-rw-r--r--  1 alienmaster alienmaster 3054 Dec 11 17:24 usercert.pem
-r--------   1  alienmaster alienmaster 1918 Dec 11 17:24 userkey.pem

Note: Please make sure the permissions for userkey.pem are read-only. To change permissions, use the following command:

chmod 400 userkey.pem

Environment Path

If you don't have a bin directory in your home directory, the installer will automatically create it.

In order to be able to use the distribution, you'll have to ensure that ~/bin is in your PATH Environment. Therefore you

should add it as appropriate to the UNIX shell you are using, or export the PATH Environment manually as follows:

export PATH=$PATH:~/bin

Now you can initialize your proxy and login

alien-token-init
    or
alien-token-init "username"
 
aliensh

Advanced: ROOT compilation


The procedure for building ROOT from source is given on the ROOT website.

To compile ROOT against AliEn libraries it is necessary to include specific parameters during configuration. The procedure below applies for the compiled version of AliEn. In case that you installed the precompiled version of AliEn follow the second row of instructions.

The complete list of configuration parameters needed to be set in order to compile ROOT with AliEn support can be found below. If you copy paste the configuration parameters please be sure you replaced all occurences of ALIEN_ROOT and FORTRAN_COMPILER.

For more options please run ./configure --help | more

--with-f77=YOUR_FORTRAN_COMPILER 
--with-pythia6-uscore=SINGLE
--enable-roofit
--enable-minuit2
--with-ssl-shared=yes
--with-alien-incdir=ALIEN_ROOT/api/include
--with-alien-libdir=ALIEN_ROOT/api/lib
--with-xrootd-incdir=ALIEN_ROOT/api/include/xrootd
--with-xrootd-libdir=ALIEN_ROOT/api/lib

--enable-gsl-shared
--disable-globus
--build=debug

For the compilation to be correctly done a few environment variables need to be changed.

export ALIEN_ROOT=YOUR_ALIEN_INSTALL_DIRECTORY 
export PATH=${ALIEN_ROOT}/api/bin:$PATH
export LD_LIBRARY_PATH=${ALIEN_ROOT}/api/lib:$LD_LIBRARY_PATH
export ZLIB=${ALIEN_ROOT}

Note: --build=debug is optional.

Warning: Before doing make, please ensure that during ROOT configuration, alien and xrootd have been located and are listed at the end of the configuration step in the Enabled support for section (also found in config.log).

An automated script was developted in order to ease ROOT configuration. Please dowload the script into ROOT source directory, make it executable and run it.

Than proceed with the build of ROOT as per usual.

 

Root configure parameters for precompiled AliEn version

--with-f77=YOUR_FORTRAN_COMPILER
--with-pythia6-uscore=SINGLE
--enable-roofit
--enable-minuit2
--with-ssl-shared=yes
--with-ssl-incdir=${ALIEN_ROOT}/include
--with-ssl-libdir=${ALIEN_ROOT}/lib
--with-xml-incdir=${ALIEN_ROOT}/include/libxml2
--with-xml-libdir=${ALIEN_ROOT}/lib
--with-monalisa-libdir=${ALIEN_ROOT}/api/lib
--with-monalisa-incdir=${ALIEN_ROOT}/api/include
--with-alien-incdir=ALIEN_ROOT/api/include
--with-alien-libdir=ALIEN_ROOT/api/lib
--with-xrootd-incdir=ALIEN_ROOT/api/include/xrootd
--with-xrootd-libdir=ALIEN_ROOT/api/lib
--enable-gsl-shared
--disable-globus
--build=debug

 

Ubuntu/Mac - If you are using an Ubuntu > 11.04 or a Mac please visit Dario's wiki page! Most of the problems encountered on there platforms are covered by his page. 

 

Advanced: AliRoot compilation


Once AliEn has been installed and ROOT compiled, please refer to the ALICE Off-line Project website for further instructions regarding the compilation of AliRoot.

 

Ubuntu/Mac - If you are using an Ubuntu > 11.04 or a Mac please visit Dario's wiki page! Most of the problems encountered on there platforms are covered by his page.

Known installation issues


 

"Secssl: Certficate is not yet valid"

=> Trying to connect to Server [1] root://pcapiserv07.cern.ch:10000 as User alienmaster
Xrd: CheckErrorStatus: Server [pcapiserv07.cern.ch:10000] declared: XrdSecProtocolssl: Secssl: certificate is not yet valid; err 9(error code: 3010)
Xrd: DoAuthentication: XrdSecProtocolssl: Secssl: certificate is not yet valid; err 9
Xrd: CheckErrorStatus: Server [pcapiserv07.cern.ch:10000] declared: Unable to authenticate - you didn't connect via SSL! ; Operation not permitted(error code: 3010)

Solution: The above error indicates that the clock on the host machine is not correctly adjusted. To avoid this issue, configure and run ntpd on your local host. Alternatively, consult with your System Administrator.

 

alien-token-init: API recompilation error

Do you want to recompile the API with your local compiler. This may take a while ....  ?yes
chmod: cannot access `/tmp/xgapi': No such file or directory
alien/api/bin/alien-token-init: line 237: /tmp/xgapi: No such file or directory

Solution: Make sure you have curl installed on your machine.

 

RedHat/Fedora: permission denied to access shared libraries

Solution: Either disable selinux or set it into permissive mode.

 

Openssl 1.0.0 and Xrootd

Xrootd is crashing with openssl 1.0.0

Solution: upgrade or downgrade your ssl version. If you don't want to change the openssl on your system, install a new version into a different directory and add the directory to your LD_LIBRARY_PATH.