Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

or CPT's wonderful journey through the installer towards getting IMAS on new platforms.


Disclaimer: all example steps given below are assuming BASH being your shell of choice. 


Warning

Please be aware that installation of many of IMAS ecosystem libraries and tools can be automatized using scripts.

See: Releasing new version of IMAS ecosystem




IMAS

Installing main dependencies

Follow the list of requirements/dependencies as stored in https://git.iter.org/projects/IMAS/repos/access-layer/browse/README.md

Add modules to set them up in the environment.

Getting the IMAS installer

Clone the installer using either master (recommended) or develop branch (at your own risk)

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/imas/installer.git

Configuring

Create target directory where all IMAS related tools will be deployed (will be referenced as IMAS_HOME from now on).

Adapt site-config/Makefile.default to the local configuration and needs. Look at tools/imas-config.in to try to guess how to name your own site-config file, and/or check which files are being targeted by running 

Code Block
languagebash
themeMidnight
DEBUG=1 ./tools/imas-config.in

Check if configuration is generating the expected setting for the targeted DD and AL tags by running

Code Block
languagebash
themeMidnight
make cache
make help TAG_DD=a.b.c TAG_AL=x.y.z

Building and installing

After making sure that compile time required modules are loaded, simply run, for given DD and AL versions

Code Block
languagebash
themeMidnight
make install TAG_DD=a.b.c TAG_AL=x.y.z



IDStools

Getting the sources

Clone the idstools repo (from IMAS Core project, not from IMAS Extra...), and checkout the targeted tag

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/imas/idstools.git
cd idstools
git checkout x.y.z 

Configuring

Create site-config file with the same name used for the IMAS installer, and specify there the name of the IMAS module and the targeted idstools module name. 

Make sure you have IMAS module loaded before attempting the build (it sets required IMAS_HOME variable and imas-config-installer).

Check if configuration is well set by checking the result of 

Code Block
languagebash
themeMidnight
make help

Building and installing

Code Block
languagebash
themeMidnight
make all
make install




FC2K

Installing main dependencies

Requires ant and JaxFront

Getting the sources

Clone the fc2k repo from IMAS extra project, and checkout the targeted tag

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/imex/fc2k.git
cd fc2k
git checkout x.y.z 

Configuring

Create two config files under the config directory:

  • config/install_xxxx.xml will contain information for building/installing fc2k
  • config/settings_xxxx.xml will contain information required when using fc2k to build actors

Once these files have been created, use imas-config-fc2k command to check if correct settings file is detected. For install file, link the one created as config/install_default.xml (or how to force ant to use the xxxx one, so we can avoid obtaining a "-dirty" version?).

Check configuration by

Code Block
languagebash
themeMidnight
ant check-config

Building and installing

After making sure IMAS module is loaded

Code Block
languagebash
themeMidnight
ant compile
ant install

  


XMLlib

Getting the sources

Clone the xmllib repo from IMAS libraries project, and checkout the targeted tag

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/lib/xmllib.git
cd xmllib
git checkout x.y.z

Configuring

Make sure autoconf / automake are available, then

Code Block
languagebash
themeMidnight
./bootstrap 
./configure FC=<targeted fortran compiler, e.g gfortran> CC=<associated C compiler, e.g gcc> --prefix=<install_dir, e.g $IMAS_HOME/extra/xmllib> 

Building and installing

Code Block
languagebash
themeMidnight
make clean
make all
make check
make install

Then repeat the configuration and building/installing steps for each fortran compilers.

Note

Associated module needs to be created manually



GGD

Getting the sources

Clone the ggd repo from IMAS extra project, and checkout the targeted tag

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/imex/ggd.git
cd ggd
git checkout x.y.z

Configuring

Make sure autoconf / automake are available, then

Code Block
languagebash
themeMidnight
./bootstrap 
./configure FC=<targeted fortran compiler, e.g gfortran> --prefix=<install_dir, e.g $IMAS_HOME/extra/ggd> --enable-doc --enable-tests

Building and installing

Code Block
languagebash
themeMidnight
make clean
make 
make check
make install

Then repeat the configuration and building/installing steps for each fortran compilers.

Note

Associated module needs to be created manually



Kepler

Installing dependencies 

Requires maven and ant (ant version 1.10.x seems not to be able to compile kepler sources, so stay with 1.9.x)

Getting the Kepler installer

Clone the kepler-installer from IMAS extra project, and checkout the targeted tag

Code Block
languagebash
themeMidnight
ssh://git@git.iter.org/imex/kepler-installer.git
cd kepler-installer
git checkout x.y.z

Configuring

Adapt site-config/Makefile.default to the local configuration and needs. Use the same name already set for IMAS installer, or call imas-config tool (available after loading IMAS module) to check which files are being targeted 

Code Block
languagebash
themeMidnight
DEBUG=1 ./tools/imas-config.in

Check if configuration is generating the expected setting by running

Code Block
languagebash
themeMidnight
make helpversion 

Building and installing

After making sure that compile time required modules are loaded, simply run

Code Block
languagebash
themeMidnight
make install

SimDB

Getting the sources

Clone the simdb repo from IMAS extra project

Code Block
languagebash
themeMidnight
git clone ssh://git@git.iter.org/imex/simdb.git

Configuring

Load correct Python version and set place to install library 

Code Block
languagebash
themeMidnight
module load itm-python/3.10
export INSTALL_DIR=<e.g /gw/swimas/extra/simdb/0.7.3/python/3.10.2/>

Building and installing

Code Block
languagebash
themeMidnight
cd simdb
python -m pip install --target $INSTALL_DIR .








Example with real steps followed on IPP's tok cluster.





IMAS

  • Installing Saxon-HE from https://sourceforge.net/projects/saxon/files/Saxon-HE/9.9/SaxonHE9-9-1-5J.zip/download
  • Installing Blitz++ from https://github.com/blitzpp/blitz
    • specify --with-pic to configure step
  • Installing more recent version of MDSplus from https://github.com/MDSplus/mdsplus (stable release 7.84.8)
    • step by step
    • requires building the python interface in order to allow conversion with ualport.py
  • Updating tools/imas-config.in

    Code Block
    languagebash
    themeMidnight
    diff --git a/tools/imas-config.in b/tools/imas-config.in
    index 7d7cdc4..84c7f11 100755
    --- a/tools/imas-config.in
    +++ b/tools/imas-config.in
    @@ -126,6 +126,7 @@ getalias() {
       [[ "$1" =~ ^gpu(008|010).fusion.ccfe.ac.uk$ ]] && echo "UKAEA.GPU"
       [[ "$1" =~ ^ipp.mpg.de$ ]] && echo "IPP-Garching"
       [[ "$1" =~ ^mpcdf.mpg.de$ ]] && echo "IPP-Garching"
    +  [[ "$1" =~ ^bc.rzg.mpg.de$ ]] && echo "IPP-Garching"
       [[ "$1" =~ ^nakasvr17.naka.qst.go.jp ]] && echo "JT-60"


  • Creating site-config/Makefile.IPP-Garching.SLES-15

    Code Block
    languagebash
    themeMidnight
    Currently Loaded Modulefiles:
    1) git/2.16 3) blitz/1.0.2 5) texlive/2018 7) intel/18.0.5 9) matlab/2017b 11) autoconf/2.69 13) cmake/3.13
    2) saxon/9.9.1 4) doxygen/1.8 6) gcc/6 8) anaconda/3/2019.03 10) jdk/8 12) automake/1.15 14) pkg-config/0.29


  • Requires JAVA_HOME to be set so the Makefile can find JNI headers, and MATLAB for the mex interface (new since AL/4.3.x)

    Code Block
    languagebash
    themeMidnight
    make -j4 install TAG_DD=3.24.0 TAG_AL=4.2.0 JAVA_HOME=${JDK_HOME} IMAS_HOME=/afs/.ipp/tok/soft/imas MATLAB=/afs/ipp/common/soft/matlab_2017b



  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the generated module should be patched

    Code Block
    languagebash
    themeMidnight
    -  set imas_home /afs/.ipp/tok/soft/imas
    +  set imas_home /afs/ipp/tok/soft/imas

    Same applies to pkg-config files.






IDStools


  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the generated module should be patched







FC2K



  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the generated module should be patched






XMLlib


  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the pkg-config files should be patched









GGD


  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the pkg-config files should be patched









Kepler

  • Install based on IMAS_HOME, as set by IMAS module, so on TOK cluster it needs to be redirected to the writeable partition

    Code Block
    languagebash
    themeMidnight
    make install IMAS_HOME=/afs/.ipp/tok/soft/imas



  • Warning

    Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the generated module should be patched for both kepler and keplertools