Installation¶
Machine Preparation¶
Install a real or virtual machine according to the Linux Installation Document
Note
use as EELT_ROLE the default: EELT_ROLE=BASE
ELT Development Environment¶
Before installing the IFW it is needed to setup the environment. A very good starting point is this document
Note
The version 2.1.13 of ELT Development should be used with version 1 of ICS Framework (IFW).
Getting Started¶
- Login as your user. In your home directory:
$ mkdir modulefiles
$ cd modulesfiles
- Create and edit the file
private.lua
undermodulesfiles
directory. Use the example file below:
local home = os.getenv("HOME")
local introot = pathJoin(home, "INTROOT")
setenv ("INTROOT", introot)
setenv ("PREFIX", introot)
local dataroot = pathJoin(home, "DATAROOT")
setenv ("DATAROOT", dataroot)
prepend_path( "MODULEPATH", pathJoin(introot,"/etc/modulefiles/"))
try_load("ifw")
Warning
Log out and in again so that modulefiles
directory becomes known to
the environment. This is needed only if it is the first time that the
directory modulefiles is created.
The file private.lua is loaded by default
In case more .lua
files (with different names) will be added to $HOME/modulefiles, they can be made known to the environment just with:
$ module load
Note
For more information, read this document
- Create the directories for the installation areas defined in the file private.lua
$ cd <the location for introot>
$ getTemplate -d introot INTROOT
$ cd <the location for dataroot>
$ getTemplate -d dataroot DATAROOT
The environment shall contain the configuration of the relevant environment variables such as INTROOT, DATAROOT, LD_LIBRARY_PATH, PYTHONPATH, etc.
- Retrieve and build the complete ICS Framework from the SVN repository (alpha tag).
$ svn co http://svnhq9.hq.eso.org/p9/tags/EELT/ICS/ifw/Release/1.0.0 ifw
$ cd ifw
$ waf configure
$ waf build install
Note
Just after the build the ifw.lua
file need to be loaded using the
command module load ifw, but next login it will be loaded by default
- Log out and Log in again to load IFW LMOD module. Check LMOD modules available after login. The output shall be as follows:
--------------------------------- /.../INTROOT/etc/modulefiles ---------------------------------
ifw (L)
----------------------------------------- /home/.../modulefiles ------------------------------------------
private (L)
------------------------------------------ /eelt/System/modulefiles -------------------------------------------
clang eeltdev (L) gcc7 (L) introot jdk/java-openjdk (L) python (L) rti_connext (L)
------------------------------------ /usr/share/lmod/lmod/modulefiles/Core ------------------------------------
lmod/6.5.1 settarg/6.5.1
Where:
L: Module is loaded
- Retrieve and build the documentation.
$ cd ifw/docs
$ make html
$ firefox build/html/index.html
- Running automatic tests.
$ cd ifw
$ waf test --alltests
Note
IFW integration tests are available in a separate svn location, see below. They are based on the etr component. IFW integration tests might contain resources only available at ESO so they cannot be executed outside ESO.
$ svn co http://svnhq9.hq.eso.org/p9/tags/EELT/ICS/ifwTests/Release/1.0.0 ifwTests