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.
1. IMAS
1.1. 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.
1.2. Getting the IMAS installer
Clone the installer using either master (recommended) or develop branch (at your own risk)
git clone ssh://git@git.iter.org/imas/installer.git
1.3. 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
DEBUG=1 ./tools/imas-config.in
Check if configuration is generating the expected setting for the targeted DD and AL tags by running
make cache make help TAG_DD=a.b.c TAG_AL=x.y.z
1.4. Building and installing
After making sure that compile time required modules are loaded, simply run, for given DD and AL versions
make install TAG_DD=a.b.c TAG_AL=x.y.z
2. IDStools
2.1. Getting the sources
Clone the idstools repo (from IMAS Core project, not from IMAS Extra...)
ssh://git@git.iter.org/imas/idstools.git
2.2. Configuring
Create site-config file with same name used for the 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
make help
2.3. Building and installing
make all make install
3. FC2K
3.1. Installing main dependencies
Requires ant and JaxFront
3.2. Getting the sources
Clone the fc2k repo from IMAS extra project
git clone ssh://git@git.iter.org/imex/fc2k.git
3.3. 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
ant check-config
3.4. Building and installing
ant compile ant install
4. XMLlib
5. Kepler
git clone https://g2bpalak@gforge6.eufus.eu/git/imasscripts
Example with real steps followed on IPP's tok
cluster.
- 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
- specify
- Installing more recent version of MDSplus from https://github.com/MDSplus/mdsplus (stable release 7.84.8)
- requires building the python interface in order to allow conversion with ualport.py
Updating tools/imas-config.in
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
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
make -j4 install TAG_DD=3.24.0 TAG_AL=4.2.0 JAVA_HOME=${JDK_HOME}
Because the target install dir (/afs/.ipp/...) is not the final one (/afs/ipp/...) the generated module should be patched
- set imas_home /afs/.ipp/tok/soft/imas + set imas_home /afs/ipp/tok/soft/imas