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.
- Prerequisites
- Fetching alien-installer
- Installing AliEn user distribution
- Configuring AliEn
- Advanced: ROOT compilation
- Advanced: AliRoot compilation
- 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.