4.4. Installing SMITER

SMITER is a GUI application based on the SALOME platform with custom modules for fieldline tracing and power deposition, synthetic diagnostic, etc.

To access the SMITER source code repository it is technically necessary to have an ITER account and to have the necessary access control permissions. Both can be provided by sending a brief justifying email to mailto:Simon.Pinches@iter.org . Once the appropriate technical provisions have been made, it will be possible for the developer to log in to the web-based graphical frontend to the ITER IM software repositories to view the source code here: https://git.iter.org. Note that in addition to logging on to access the ITER intranet (if not on the IO LAN), it may also be necessary to authenticate to the Git front-end, particularly to browse restricted repositories. To download copies of repositories with restricted access and to gain write-access to any repository it is necessary to authenticate from the CLI. This is most conveniently done by uploading your public SSH key to the ITER Git server. The relevant link can be found under Manage Account in the top right-hand corner of the web front-end or accessed directly here: https://git.iter.org/plugins/servlet/ssh/account/keys. You will need to upload your public SSH key from each system you wish to access the ITER Git repositories from.

Sources of custom modules are located under the SMITER/, ELMER, RSECT and SMITER_GUI directories. The rest of the build is prepared under the BUILD/, SOURCES and INSTALL directories. Precompiled documentation is available as external data and is readily available and prepared for reading with:

make pdf

In the same way large studies, geometry, benchmarks, test deck and validation cases are versioned through GIT and fetched:

make -C study

or issuing make under any study subdirectory that has Makefile.

See appimage/README.rst for prebuilt SMITER images intended for use on standalone Linux machines and SLURM clusters.

Quick build instructions from source code:

# https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup
 git config --global color.ui auto
 git config --global --add alias.lol 'log --graph --decorate
    --abbrev-commit --all
    --pretty=format:"%C(auto)%h%d %C(blue)%an %C(red)%GG %C(reset)%s"'
 git clone ssh://git@git.iter.org/bnd/smiter.git
 cd smiter
 git checkout develop
 make
 ./smiter

SMITER engine can be compiled separately with gfortran and intel. CMake is used for configuration:

cd SOURCES/smardda_lib
mkdir build; cd build;
cmake .. -DCMAKE_INSTALL_PREFIX=/smardda/lib/install/path
make -j4
make install

For smardda-pfc you have to provide the location of smardda-lib installation:

cd SOURCES/smardda_pfc
mkdir build; cd build;
cmake .. -DCMAKE_INSTALL_PREFIX=/smardda/pfc/install/path -DSMARDDALIB_DIR=/smardda/lib/install/path
make -j4
make install

Compiler can be specified with the FC environment variable. Intel and gfortran compilers are currently supported.

For example, to use Intel:

FC=ifort cmake ..

By default, if MPI is detected in the environment, then it will be used when building. This can be switched off by providing -DWITH_MPI=Off when calling CMake commands. No need to specify exactly the location of the MPI library, but it has to be present in the environment when running the binaries.

Needless to say, both libraries needs to be compiled with the same toolchain.

To activate debugging flags, pass -DCMAKE_BUILD_TYPE=Debug when calling CMake command.

Documentation is built in smardda-pfc. A requirement is Doxygen and texlive studio. Documentation building can be turned off by passing -DWITH_DOCUMENTATION=Off to the CMake command for smardda-pfc.

4.4.1. Building the SALOME framework and SMITER GUI application

The Makefile with:

make

builds everything from sources that are downloaded from external data or git repositories . Actually it resolves to the following set of commands that can also be entered manually:

make -C ARCHIVES
./sat prepare smiter # sources are unpacked and fetched
./sat clean smiter --build --install # if changing version
./sat --batch compile smiter # all sources are compiled and installed
./sat launcher smiter # script for launching smiter is prepared

Depending on hardware and/or software setup one can build SMITER GUI applications that differ in third-party prerequisites and module configurations/variants. It is advisable to try non-default smiter.pyconf in such cases. All SMITER applications are listed with:

./sat config --list

Please consult files in PROJECT/applications for details of individual applications. In cases when having problems with OpenGL one can try to build another application.

Building different SMITER GUI applications with make is possible by “exporting” environment variable SMITER_APPLICATION or providing it at every make command such as:

make SMITER_APPLICATION=smiter-9.9.0

However, it is more convenient to fix non-default application with:

echo "SMITER_APPLICATION ?= smiter-9.9.0" > application.mk

and then this configuration will be used when variable is not set or provided at command line.

If having problems with OpenBLAS compilation due to processor detection then one can specify TARGET with:

env TARGET=GENERIC make

or for example:

./sat prepare smiter-9.9.0 -p openblas
env TARGET=SKYLAKEX ./sat compile smiter -p openblas --clean_all

Other targets can be found in SOURCES/openblas/TargetList.txt.

When changing applications it is recommended to do:

make distclean all

To check which application will be used when building issue:

make query-SMITER_APPLICATION

In case of compile problems on a new machine, where some tools are missing to build SALOME prerequisites (libxmu-dev, bison, flex, …), one can observe failed ./sat log smiter

Some builds of prerequisites may be incomplete and can build OK but cause build failure in some dependent prerequisite later on due to missing system packages. Verify that 1. boost has 118+ files in lib/ installed 2. CAS has 224+ files in lib/ installed

If some prerequisite fails during compilation then it is advisable to do clean build. For example if metis fails with:

Compilation of metis ......................... KO

then one can observe failure with:

less LOGS/metis/script

and when problem resolved try to compile once again just metis with:

./sat prepare smiter-9.9.0 -p metis
./sat compile smiter-9.9.0 -p metis --clean_all

If OK is given at end of the compile then we can continue with make.

4.4.2. Developing and running SMITER

Global settings (editor, browser, log level) can be tuned with:

./sat config --edit

Prepare and compile SMITER with:

./sat prepare smiter --products SMITER,SMITER_GUI
./sat compile smiter --clean_all --products SMITER,SMITER_GUI
./sat launcher smiter

Error in SMITER module can be seen by the following command:

./sat log smiter

Click on the upper most command which failed and there you will see the debug messages of the build procedure.

To run the SMITER application use the ./sat run smiter

To recompile just SMITER module use:

./sat prepare smiter --products SMITER
./sat compile smiter --products SMITER --clean_install

4.4.3. Adding SALOME (sub)modules from GIT repos

Sources for SALOME modules are checked out frome SALOME GIT repositories with a tag into SOURCES directory during the sat prepare smiter phase. Manually can be checked out with:

SRC=http://git.salome-platform.org/gitpub/
git submodule ${SRC}/addtools/configuration.git tools/configuration
git submodule add ${SRC}/modules/kernel.git modules/kernel

git submodule update --init --recursive

4.4.4. Changing prerequisites

If change of some prerequisite is needed then one needs to conform to salomeTools package naming convention used. This means that unpacked directory needs to have the same name as the archive and therefore some repacking is needed before it can be rebuild. In some occasions also new build_scripts are needed:

cd ARCHIVES
tar xJf qt-everywhere-src-5.10.1.tar.xz
mv qt-everywhere-src-5.10.1/ qt-5.10.1
tar czf qt-5.10.1.tar.gz qt-5.10.1
tar xvzf PyQt-5.10.1.tar.gz
mv PyQt5_gpl-5.10.1 PyQt-5.10.1
tar cvzf PyQt-5.10.1.tar.gz PyQt-5.10.1
tar tvzf sip-4.19.1.tar.gz

diff --git a/salome/smiter.pyconf b/salome/smiter.pyconf
index d4590e7..76873af 100644
--- a/salome/smiter.pyconf
+++ b/salome/smiter.pyconf
@@ -51,10 +51,10 @@ APPLICATION :
       freetype : '2.4.11'
       matplotlib : '1.4.3'
       cppunit : '1.13.2'
-      qt : '5.6.1-1'
-      PyQt : '5.6'
+      qt : '5.10.1'
+      PyQt : '5.10.1'
       qwt : '6.1.2'
-      sip : '4.18'
+      sip : '4.19.8'
       omniORB : '4.1.6'
       omniORBpy : '3.6'
       boost : '1.58.0'

sat prepare smiter --products qt,sip,PyQt
sat compile smiter --products=qt,sip,PyQt --clean_all --with_children

4.4.5. Publishing prerequisite archive

External data server servers large files under ARCHIVES that are fetched with simple make command. To publish on a designated server a script is included that copies to external data directory if one has sufficient permissions:

cd ARCHIVES
make publish archive=VirtualGL-2.5.2.tar.gz ITER_HPC_LOGIN_USERNAME=kosl

Variable ITER_HPC_LOGIN_USERNAME is not needed on the ITER cluster or when local username is the same. Secure copy is used to transfer the archive and password will be asked to start outside ITER. MD5 checksum file is added to git automatically. Do not forget to commit and push added checksum file!

4.4.6. IMAS

IMAS is built from sources and can be used in Python included. For compiling imasual java compiler is required! As there is no imas.py wrapper the directory is symlinked at access-layer installation and one cat test directly in Python console

>>> import imas

For compiling imas, there are some packages required that may not be installed on at specific distribution. The packages required are:

For Debian 9:

$ sudo apt-get install openjdk-8-jdk libreadline-dev xsltproc

For Debian 10:

$ sudo apt-get install openjdk-11-jdk libreadline-dev xsltproc

Be aware that since /bin/sh is called for running the compile scripts, for IMAS there will be an error if the default shell /bin/sh is linked to dash.

The OpenJDK 11 version has a different directory structure, so a symbolic link has to be created.:

$ sudo ln -s /lib/jvm/java-11-openjdk-amd64 /lib/jvm/java-11-openjdk-amd64/jre

Otherwise the configure script of MDSPLUS will fail.

For CentOS 7:

$ sudo yum -y install java-1.8.0-openjdk-devel readline-devel xsltproc

To change the storage of pulse files change the following :file:

~/smiter/PROJECT/products/env_scripts/imasual.py

And change the python variables:

# MDSPLUS_TREE_BASE path
basepath = '/your/desired/path'
# ids_path environment variable
env.set('ids_path', '%s/0' % basepath)

With this IDS can be saved to arbitrary location on the file system.

4.4.7. Compiling with MPI

Smiter allows to run POWCAL in parallel with nearly linear scaling. To compile FORTRAN codes with MPI one needs to:

exec/decompile
env F90=mpif90 exec/build

and enable MPI run in SMITER GUI preferences. It is safe to run MPI compiled executables serialy without enabling MPI run.

4.4.8. Compiling documentation

HTML documentation is prepared during compilation of SMITER module automaticaly. For LaTeX documentation in PDF and writing its faster to compile documentation sources in build and launch environment. One can use:

make doc

or prepare environment with environment variables scripts for loading in command line that are created:

./sat environ smiter

Then one can:

source env_launch.sh

and prepare PDF or HTML documentation of the module:

cd SMITER/doc
make html
make latexpdf

that are then build as html/index.html and latex/solps-gui.pdf.

Note that on the ITER cluster one needs to load the following modules to compile documentation:

module load Perl/5.20.3-goolf-1.5.16 # for latexmk to work
module load texlive/2015

4.4.9. Catalog generator

SMITER component includes CORBA interface for calling by external programs, Python scripts and YACS schemas.

Required generation of the module/SMITER/resources/SMITERCatalog.xml.in can be achieved also by Tools –> Catalog generator Tool by selecting (Interface Data Language) IDL file and writing xml.in file with parameters as shown on the dialog.

../_images/catalog_generator.png

4.4.10. Building on the ITER cluster

Different configurations are possible depending on IMAS git.iter.org access possibility and OpenGL graphics capabilities. To install a release use:

git checkout 1.6.2
ci_scripts/install_smiter

The best is to use the most recent version as they read HDF studies from previous versions and provide new features and improvements. Furthermore, we can have MPI or serial versions of SMARDDA kernel. This depends on the FOTRAN compiler selected. If F90 has mpi in its name. For software rendering us the launchers that have the suffix _mesa

Older SMITER and SALOME applications version 8.5.x can also be built with recent MESA software rendering library that is useful when no hardware graphics support is available. The MESA launcher can be built with

./sat launcher ${SAPP} --use_mesa

or simply with

make use_mesa

4.4.11. Building native SALOME GUI

If native SALOME GUI is also required to be build for providing GUI without SMITER then one needs to issue the following commands after SMITER was built

./sat prepare SALOME-9.9.0 -p SALOME
./sat compile SALOME-9.9.0 -p SALOME --clean_all
./sat launcher SALOME-9.9.0 # --use_mesa ## for 8.5.x software rendering
./salome

SMITER and SALOME GUI then coexists in the same installation directory. Therefore, SALOME versions must be the same. See smiter/salome/examples/modulefiles/iter/ for examples of TCL module files.

4.4.12. Build log

For building SMITER GUI it is advisable to have several CPUs available as it takes several hours to compile everything from scratch. See smiter/salome/README.md for up to date instructions.

Typical build log on CentOS 7 workstation with 20 cores is listed below

[kosl@sdcc-login03 smiter-1.6.2]$ ci_scripts/build_local
+ df -h / /dev/shm
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/rootvg-rootvol  219G   67G  153G  31% /
tmpfs                       189G  198M  188G   1% /dev/shm
+ module purge
+ _moduleraw purge
+ unset _mlre _mlIFS _mlshdbg
+ '[' 0 = 1 ']'
+ '[' -n x ']'
+ _mlIFS='
'
+ IFS=' '
+ for _mlv in ${MODULES_RUN_QUARANTINE:-}
+ '[' LD_LIBRARY_PATH = LD_LIBRARY_PATH -a LD_LIBRARY_PATH = LD_LIBRARY_PATH ']'
++ eval 'echo ${LD_LIBRARY_PATH+x}'
+++ echo
+ '[' -n '' ']'
+ _mlrv=MODULES_RUNENV_LD_LIBRARY_PATH
++ eval 'echo ${MODULES_RUNENV_LD_LIBRARY_PATH:-}'
+++ echo
+ _mlre='LD_LIBRARY_PATH='\'''\'' '
+ '[' -n 'LD_LIBRARY_PATH='\'''\'' ' ']'
++ eval 'LD_LIBRARY_PATH='\'''\''' /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash '"$@"'
+++ LD_LIBRARY_PATH=
+++ /usr/bin/tclsh /usr/share/Modules/libexec/modulecmd.tcl bash purge
+ eval
+ _mlstatus=0
+ '[' -n x ']'
+ IFS='
'
+ '[' -n '' ']'
+ unset _mlre _mlv _mlrv _mlIFS _mlshdbg
+ return 0
+ export SAPP=smiter-imas-9.5.0 TMP=/tmp
+ SAPP=smiter-imas-9.5.0
+ TMP=/tmp
+ export SAT_OPTIONS=
+ SAT_OPTIONS=
+ set -ex
+ echo 'SMITER_APPLICATION ?= smiter-imas-9.5.0'
+ '[' '!' -f /tmp/kosl/BLOCAL-smiter-imas-9.5.0/.built ']'
++ date +%s
+ old=1613376570
+ test -e SOURCES
+ mv SOURCES SOURCES.1613376570
+ test -e BUILD
+ mv BUILD BUILD.1613376570
+ test -e INSTALL
+ mv INSTALL INSTALL.1613376570
+ test -d /tmp/kosl/BLOCAL-smiter-imas-9.5.0
+ test -d /tmp/kosl/SLOCAL-smiter-imas-9.5.0
+ mkdir -p /tmp/kosl/BLOCAL-smiter-imas-9.5.0
+ rm -rf SOURCES.1613376570 BUILD.1613376570 INSTALL.1613376570 /tmp/kosl/BLOCAL-smiter-imas-9.5.0.1613376570 /tmp/kosl/SLOCAL-smiter-imas-9.5.0.1613376
+ ln -sf /tmp/kosl/BLOCAL-smiter-imas-9.5.0 BUILD
+ mkdir -p /tmp/kosl/SLOCAL-smiter-imas-9.5.0
+ ln -sf /tmp/kosl/SLOCAL-smiter-imas-9.5.0 SOURCES
+ make
env CC=gcc CXX=g++ FC=gfortran ./sat prepare smiter-imas-9.5.0 -c
Clean the source directories ...OK
Getting sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

openmpi:                  GIT:https://github.com/open-mpi/ompi                                           tag:v3.1.5 ..... OK
openblas:                 GIT:https://github.com/xianyi/OpenBLAS                                         tag:v0.3.10 .... OK
elmerfem:                 GIT:https://github.com/ElmerCSC/elmerfem.git                                   tag:release-8.4 . OK
saxon:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/saxon-he-9.8.0-12J.tar.gz ... OK
mdsplus:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/mdsplus-7.96.8.tgz ... OK
blitz:                    GIT:https://github.com/blitzpp/blitz.git                                       tag:1.0.1 ...... OK
imasdd:                   GIT:ssh://git@git.iter.org/imas/data-dictionary.git                            tag:3.28.1 ..... OK
imasual:                  GIT:ssh://git@git.iter.org/imas/access-layer.git                               tag:4.8.4 ...... OK
smardda_lib:              GIT:ssh://git@git.iter.org/bnd/smardda-lib.git                                 tag:1.1.0 ...... OK
smardda_pfc:              GIT:ssh://git@git.iter.org/bnd/smardda-pfc.git                                 tag:1.1.0 ...... OK
alabaster:                PIP : do nothing, product will be downloaded later at compile time OK
Babel:                    PIP : do nothing, product will be downloaded later at compile time OK
boost:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/boost-1.58.0.tar.gz ... OK
CAS:                      GIT:http://git.dev.opencascade.org/repos/occt.git                              tag:V7_4_0p1 ... OK
certifi:                  PIP : do nothing, product will be downloaded later at compile time OK
cgns:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/cgns-3.3.1.tar.gz ... OK
chardet:                  PIP : do nothing, product will be downloaded later at compile time OK
click:                    PIP : do nothing, product will be downloaded later at compile time OK
cmake:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/cmake-3.12.1.tar.gz ... OK
cppunit:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/cppunit-1.13.2.tar.gz ... OK
cycler:                   PIP : do nothing, product will be downloaded later at compile time OK
Cython:                   GIT:https://github.com/cython/cython.git                                       tag:0.29.19 .... OK
dateutil:                 PIP : do nothing, product will be downloaded later at compile time OK
docutils:                 PIP : do nothing, product will be downloaded later at compile time OK
doxygen:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/doxygen-1.8.14.tar.gz ... OK
eigen:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/eigen-3.3.4.tar.gz ... OK
embree:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/embree-3.3.0.tar.gz ... OK
freeimage:                arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/freeimage-3.16.0.tar.gz ... OK
freetype:                 arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/freetype-2.9.1.tar.gz ... OK
gmsh:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/gmsh-4.1.4.tar.gz ... OK
graphviz:                 arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/graphviz-2.38.0.tar.gz ... OK
hdf5:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/hdf5-1.10.3.tar.gz ... OK
homard_bin:               arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/homard_bin-11.12_hdf51103med410.tar.gz ... OK
idna:                     PIP : do nothing, product will be downloaded later at compile time OK
imagesize:                PIP : do nothing, product will be downloaded later at compile time OK
ispc:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/ispc-1.9.2-x86_64.tar.gz ... OK
Jinja2:                   PIP : do nothing, product will be downloaded later at compile time OK
kiwisolver:               PIP : do nothing, product will be downloaded later at compile time OK
libxml2:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/libxml2-2.9.1.tar.gz ... OK
llvm:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/llvm-8.0.1-clang.tar.gz ... OK
markupsafe:               PIP : do nothing, product will be downloaded later at compile time OK
matplotlib:               GIT:https://github.com/matplotlib/matplotlib.git                               tag:v3.3.0 ..... OK
medfile:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/med-4.1.0.tar.gz ... OK
mesa:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/mesa-19.0.8.tar.gz ... OK
MeshGems:                 arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/MeshGems-2.10-4.tar.gz ... OK
metis:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/metis-5.1.0.tar.gz ... OK
netgen:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/netgen-5.3.1.tar.gz ... OK
nlopt:                    arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/nlopt-2.4.2.tar.gz ... OK
numpy:                    GIT:https://github.com/numpy/numpy.git                                         tag:v1.18.4 .... OK
omniORB:                  arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/omniORB-4.2.2.tar.gz ... OK
omniORBpy:                arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/omniORBpy-4.2.2.tar.gz ... OK
opencv:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/opencv-3.2.0.tar.gz ... OK
openssl:                  Native : Checking system packages are installed
 - openssl-devel : OK (openssl-devel-1.1.1c-15.el8.x86_64 )
ospray:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/ospray-1.8.4.tar.gz ... OK
packaging:                PIP : do nothing, product will be downloaded later at compile time OK
ParaView:                 arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/ParaView-5.8.0-lata-virtualgl.tar.gz ... OK
Pillow:                   PIP : do nothing, product will be downloaded later at compile time OK
planegcs:                 arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/planegcs-0.18-3cb6890.tar.gz ... OK
pockets:                  PIP : do nothing, product will be downloaded later at compile time OK
Pygments:                 PIP : do nothing, product will be downloaded later at compile time OK
pyparsing:                PIP : do nothing, product will be downloaded later at compile time OK
PyQt:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/PyQt-5.9.tar.gz ... OK
pyreadline:               arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/pyreadline-2.0.tar.gz ... OK
Python:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/Python-3.6.5.tar.gz ... OK
pytz:                     PIP : do nothing, product will be downloaded later at compile time OK
qt:                       arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/qt-5.9.1.tar.gz ... OK
qwt:                      arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/qwt-6.1.2.tar.bz2 ... OK
requests:                 PIP : do nothing, product will be downloaded later at compile time OK
scipy:                    GIT:https://github.com/scipy/scipy.git                                         tag:v1.4.1 ..... OK
scotch:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/scotch-6.0.4.tar.gz ... OK
setuptools:               PIP : do nothing, product will be downloaded later at compile time OK
sip:                      arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/sip-4.19.3.tar.gz ... OK
six:                      PIP : do nothing, product will be downloaded later at compile time OK
snowballstemmer:          PIP : do nothing, product will be downloaded later at compile time OK
Sphinx:                   PIP : do nothing, product will be downloaded later at compile time OK
sphinxcontrib_napoleon:   PIP : do nothing, product will be downloaded later at compile time OK
sphinxcontrib_websupport: PIP : do nothing, product will be downloaded later at compile time OK
sphinx_rtd_theme:         PIP : do nothing, product will be downloaded later at compile time OK
sphinxintl:               PIP : do nothing, product will be downloaded later at compile time OK
swig:                     arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/swig-3.0.12.tar.gz ... OK
tbb:                      GIT:https://github.com/oneapi-src/oneTBB.git                                   tag:v2020.3 .... OK
tcl:                      arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/tcl-8.6.0.tar.gz ... OK
tk:                       arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/tk-8.6.0.tar.gz ... OK
urllib3:                  PIP : do nothing, product will be downloaded later at compile time OK
raysect:                  GIT:https://github.com/raysect/source.git                                      tag:v0.6.0 ..... OK
cherab:                   GIT:https://github.com/cherab/core.git                                         tag:v1.2.0 ..... OK
cherab_iter:              GIT:ssh://git@git.iter.org/diag/cherab-iter.git                                tag:v0.1.0 ..... OK
SMITER:                   DIR: /home/ITER/kosl/smiter-1.6.2/SMITER ... OK
ELMER:                    DIR: /home/ITER/kosl/smiter-1.6.2/ELMER ... OK
RSECT:                    DIR: /home/ITER/kosl/smiter-1.6.2/RSECT ... OK
CONFIGURATION:            GIT:http://git.salome-platform.org/gitpub/tools/configuration.git              tag:V9_5_0 ..... OK
SHAPER:                   GIT:http://git.salome-platform.org/gitpub/modules/shaper.git                   tag:V9_5_0 ..... OK
SHAPERSTUDY:              arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/SHAPERSTUDY.tgz ... OK
LIBBATCH:                 GIT:http://git.salome-platform.org/gitpub/tools/libbatch.git                   tag:V2_4_3 ..... OK
KERNEL:                   GIT:http://git.salome-platform.org/gitpub/modules/kernel.git                   tag:V9_5_0 ..... OK
MEDCOUPLING:              GIT:http://git.salome-platform.org/gitpub/tools/medcoupling.git                tag:V9_5_0 ..... OK
GUI:                      GIT:http://git.salome-platform.org/gitpub/modules/gui.git                      tag:V9_5_0 ..... OK
GEOM:                     GIT:http://git.salome-platform.org/gitpub/modules/geom.git                     tag:V9_5_0 ..... OK
SMESH:                    GIT:http://git.salome-platform.org/gitpub/modules/smesh.git                    tag:V9_5_0 ..... OK
NETGENPLUGIN:             GIT:http://git.salome-platform.org/gitpub/plugins/netgenplugin.git             tag:V9_5_0 ..... OK
BLSURFPLUGIN:             GIT:http://git.salome-platform.org/gitpub/plugins/blsurfplugin.git             tag:V9_5_0 ..... OK
GHS3DPLUGIN:              GIT:http://git.salome-platform.org/gitpub/plugins/ghs3dplugin.git              tag:V9_5_0 ..... OK
HYBRIDPLUGIN:             GIT:http://git.salome-platform.org/gitpub/plugins/hybridplugin.git             tag:V9_5_0 ..... OK
HexoticPLUGIN:            GIT:http://git.salome-platform.org/gitpub/plugins/hexoticplugin.git            tag:V9_5_0 ..... OK
GMSHPLUGIN:               GIT:http://git.salome-platform.org/gitpub/plugins/gmshplugin.git               tag:V9_5_0 ..... OK
HEXABLOCK:                GIT:http://git.salome-platform.org/gitpub/modules/hexablock.git                tag:V9_5_0 ..... OK
HEXABLOCKPLUGIN:          GIT:http://git.salome-platform.org/gitpub/plugins/hexablockplugin.git          tag:V9_5_0 ..... OK
HOMARD:                   GIT:http://git.salome-platform.org/gitpub/modules/homard.git                   tag:V9_5_0 ..... OK
FIELDS:                   GIT:http://git.salome-platform.org/gitpub/modules/med.git                      tag:V9_5_0 ..... OK
PARAVIS:                  GIT:http://git.salome-platform.org/gitpub/modules/paravis.git                  tag:V9_5_0 ..... OK
JOBMANAGER:               GIT:http://git.salome-platform.org/gitpub/modules/jobmanager.git               tag:V9_5_0 ..... OK
YACS:                     GIT:http://git.salome-platform.org/gitpub/modules/yacs.git                     tag:V9_5_0 ..... OK
YACSGEN:                  GIT:http://git.salome-platform.org/gitpub/tools/yacsgen.git                    tag:V9_5_0 ..... OK
DOCUMENTATION:            GIT:http://git.salome-platform.org/gitpub/tools/documentation.git              tag:V9_5_0 ..... OK
SAMPLES:                  GIT:http://git.salome-platform.org/gitpub/samples/datafiles.git                tag:V9_5_0 ..... OK
COMPONENT:                GIT:http://git.salome-platform.org/gitpub/samples/component.git                tag:V9_5_0 ..... OK
PYCALCULATOR:             GIT:http://git.salome-platform.org/gitpub/samples/pycalculator.git             tag:V9_5_0 ..... OK
CALCULATOR:               GIT:http://git.salome-platform.org/gitpub/samples/calculator.git               tag:V9_5_0 ..... OK
HELLO:                    GIT:http://git.salome-platform.org/gitpub/samples/hello.git                    tag:V9_5_0 ..... OK
PYHELLO:                  GIT:http://git.salome-platform.org/gitpub/samples/pyhello.git                  tag:V9_5_0 ..... OK
EFICAS:                   GIT:http://git.salome-platform.org/gitpub/modules/eficas.git                   tag:V9_5_0 ..... OK
EFICAS_TOOLS:             GIT:http://git.salome-platform.org/gitpub/tools/eficas.git                     tag:V9_5_0 ..... OK
PY2CPP:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/PY2CPP.tgz ... OK
ADAO:                     GIT:http://git.salome-platform.org/gitpub/modules/adao.git                     tag:V9_5_0 ..... OK
ADAO_INTERFACE:           arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/ADAO_INTERFACE.tgz ... OK
SMITER_GUI:               DIR: /home/ITER/kosl/smiter-1.6.2/SMITER_GUI ... OK

Getting sources of the application: OK (126 / 126)
Patching sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

blitz:                      Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/blitz-genstencils-port-py2-to-py3.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/blitz-makeloops-port-py2-to-py3.patch
freeimage:                  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/freeimage-3.16.0_gcc6.patch
hdf5:                       Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/hdf5-1.10.3.patch
metis:                      Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/metis-use_cat_not_more.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/metis-no-makeflags.patch
netgen:                     Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/netgen-5.3.1-for-SALOME-OCCT-7.2.0.patch
opencv:                     Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/opencv-3.2.0-ccache.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/opencv-3.2.0-priority-to-OpenBLAS_HOME.patch
ParaView:                   Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0003-ParaViewClient.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0004-ParaView_hdf5_virtualgl.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0005-ParaView_find_cgns.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0006-ParaView_find_libxml2.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0007-ParaView_find_freetype.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0009-ParaView_volume_mapper.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/pv_coincident.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0010_VirtualGL.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/paraview.0011_GCC485.patch
cherab:                     Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/cherab-fix-urllib-and-openadas-location.patch
SHAPER:                     Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/patch_shaper_cursor_cross.diff
FIELDS:                     Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/FIELDS-disable-xdr-check.patch
YACS:                       Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/yacs_cea_v2.patch
  Apply patch /home/ITER/kosl/smiter-1.6.2/PROJECT/products/patches/yacs_genericgui_catalogWidget_return_true_at_end.patch

Patching sources of the application: OK (126 / 126)
touch SOURCES/KERNEL SOURCES/GUI SOURCES/GEOM SOURCES/SMESH
env CC=gcc CXX=g++ FC=gfortran ./sat --batch  compile smiter-imas-9.5.0
Executing the compile commands in the build directories of the products of the application smiter-imas-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of cmake ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/cmake
Compilation of Python ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of swig .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/swig
Compilation of graphviz ......................                                                                                                          Compilation of graphviz ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/graphviz
Compilation of doxygen ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/doxygen
Compilation of openmpi ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/openmpi
Compilation of openblas ......................                                                                                                          Compilation of openblas ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/openblas
Compilation of elmerfem ......................                                                                                                          Compilation of elmerfem ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/elmerfem
Compilation of saxon ......................... ignored
Compilation of libxml2 ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/libxml2
Compilation of mdsplus ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/mdsplus
Compilation of blitz ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/blitz
Compilation of imasdd ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/data-dictionary
Compilation of setuptools .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of Cython ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of numpy ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/numpy
Compilation of imasual ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/access-layer
Compilation of smardda_lib ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/smardda_lib
Compilation of smardda_pfc ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/smardda_pfc
Compilation of alabaster ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of pytz .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of Babel ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of boost ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/boost
Compilation of freetype ......................                                                                                                          Compilation of freetype ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/freetype
Compilation of freeimage .....................                                                                                                          Compilation of freeimage ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/freeimage
Compilation of CAS ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/CAS
Compilation of certifi ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of hdf5 ..........................                                                                                                          Compilation of hdf5 .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/hdf5
Compilation of cgns .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/cgns
Compilation of chardet ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of click ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of cppunit ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/cppunit
Compilation of six ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of cycler ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of dateutil ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of docutils ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of eigen ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/eigen
Compilation of ispc ..........................                                                                                                          Compilation of ispc .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ispc
Compilation of llvm .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/llvm
Compilation of tbb ...........................                                                                                                          Compilation of tbb ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/tbb
Compilation of embree ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/embree
Compilation of gmsh ..........................                                                                                                          Compilation of gmsh .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/gmsh
Compilation of homard_bin ....................                                                                                                          Compilation of homard_bin .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/homard_bin
Compilation of idna .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of imagesize ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of markupsafe .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of Jinja2 ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of kiwisolver .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of tcl ...........................                                                                                                          Compilation of tcl ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/tcl
Compilation of tk ............................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/tk
Compilation of qt ............................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/qt
Compilation of sip ...........................                                                                                                          Compilation of sip ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/sip
Compilation of PyQt ..........................                                                                                                          Compilation of PyQt .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/PyQt
Compilation of pyparsing ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of matplotlib ....................                                                                                                          Compilation of matplotlib .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/matplotlib
Compilation of medfile .......................                                                                                                          Compilation of medfile ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/medfile
Compilation of mesa ..........................                                                                                                          Compilation of mesa .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/mesa
Compilation of MeshGems ......................                                                                                                          Compilation of MeshGems ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/MeshGems
Compilation of metis .........................                                                                                                          Compilation of metis ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/metis
Compilation of netgen ........................                                                                                                          Compilation of netgen ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/netgen
Compilation of nlopt .........................                                                                                                          Compilation of nlopt ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/nlopt
Compilation of omniORB .......................                                                                                                          Compilation of omniORB ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/omniORB
Compilation of omniORBpy .....................                                                                                                          Compilation of omniORBpy ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/omniORBpy
Compilation of Pygments ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of sphinxcontrib_websupport ...... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of packaging ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of urllib3 ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of requests ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of snowballstemmer ............... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of Sphinx ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of opencv ........................                                                                                                          Compilation of opencv ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/opencv
Compilation of openssl ....................... native
Compilation of ospray ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ospray
Compilation of ParaView ......................                                                                                                          Compilation of ParaView ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ParaView
Compilation of Pillow ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of planegcs ......................                                                                                                          Compilation of planegcs ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/planegcs
Compilation of pockets ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of pyreadline ....................                                                                                                          Compilation of pyreadline .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/pyreadline
Compilation of qwt ...........................                                                                                                          Compilation of qwt ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/qwt
Compilation of scipy .........................                                                                                                          Compilation of scipy ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/scipy
Compilation of scotch ........................                                                                                                          Compilation of scotch ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/scotch
Compilation of sphinxcontrib_napoleon ........ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of sphinx_rtd_theme .............. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of sphinxintl .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/Python
Compilation of raysect .......................                                                                                                          Compilation of raysect ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/raysect
Compilation of cherab ........................                                                                                                          Compilation of cherab ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/cherab
Compilation of cherab_iter ...................                                                                                                          Compilation of cherab_iter ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/cherab_iter
Compilation of LIBBATCH ...................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/LIBBATCH
Compilation of KERNEL ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/KERNEL
Compilation of GUI ........................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/GUI
Compilation of GEOM .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/GEOM
Compilation of CONFIGURATION ................. ignored
Compilation of MEDCOUPLING ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/MEDCOUPLING
Compilation of SMESH ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SMESH
Compilation of SMITER ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SMITER
Compilation of ELMER ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ELMER
Compilation of RSECT ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/RSECT
Compilation of SHAPER ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SHAPER
Compilation of SHAPERSTUDY ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SHAPERSTUDY
Compilation of NETGENPLUGIN .................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/NETGENPLUGIN
Compilation of BLSURFPLUGIN .................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/BLSURFPLUGIN
Compilation of GHS3DPLUGIN ................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/GHS3DPLUGIN
Compilation of HYBRIDPLUGIN .................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HYBRIDPLUGIN
Compilation of HexoticPLUGIN ................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HexoticPLUGIN
Compilation of GMSHPLUGIN .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/GMSHPLUGIN
Compilation of HEXABLOCK ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HEXABLOCK
Compilation of HEXABLOCKPLUGIN ............... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HEXABLOCKPLUGIN
Compilation of HOMARD ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HOMARD
Compilation of FIELDS ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/FIELDS
Compilation of PARAVIS ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/PARAVIS
Compilation of JOBMANAGER .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/JOBMANAGER
Compilation of YACS .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/YACS
Compilation of YACSGEN .......................                                                                                                          Compilation of YACSGEN ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/YACSGEN
Compilation of DOCUMENTATION ................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/DOCUMENTATION
Compilation of SAMPLES ....................... ignored
Compilation of COMPONENT ..................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/COMPONENT
Compilation of PYCALCULATOR .................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/PYCALCULATOR
Compilation of CALCULATOR .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/CALCULATOR
Compilation of HELLO ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/HELLO
Compilation of PYHELLO ....................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/PYHELLO
Compilation of EFICAS_TOOLS .................. OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/EFICAS_TOOLS
Compilation of EFICAS ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/EFICAS
Compilation of PY2CPP ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/PY2CPP
Compilation of ADAO ..........................                                                                                                          Compilation of ADAO .......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ADAO
Compilation of ADAO_INTERFACE ................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ADAO_INTERFACE
Compilation of SMITER_GUI .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SMITER_GUI

Compilation: OK (126/126)
touch INSTALL/KERNEL INSTALL/GUI INSTALL/GEOM INSTALL/SMESH
env CC=gcc CXX=g++ FC=gfortran ./sat prepare smiter-imas-9.5.0 --product SMITER
Clean the source directories ...OK
Getting sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

SMITER:                  DIR: /home/ITER/kosl/smiter-1.6.2/SMITER ... OK

Getting sources of the application: OK (1 / 1)
Patching sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2


Patching sources of the application: OK (1 / 1)
env CC=gcc CXX=g++ FC=gfortran ./sat  compile smiter-imas-9.5.0 \
                --product SMITER --clean_all
Executing the compile commands in the build directories of the products of the application smiter-imas-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of SMITER ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SMITER

Compilation: OK (1/1)
env CC=gcc CXX=g++ FC=gfortran ./sat prepare smiter-imas-9.5.0 --product SMITER_GUI
Clean the source directories ...OK
Getting sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

SMITER_GUI:              DIR: /home/ITER/kosl/smiter-1.6.2/SMITER_GUI ... OK

Getting sources of the application: OK (1 / 1)
Patching sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2


Patching sources of the application: OK (1 / 1)
env CC=gcc CXX=g++ FC=gfortran ./sat compile smiter-imas-9.5.0 --product SMITER_GUI --clean_all
Executing the compile commands in the build directories of the products of the application smiter-imas-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of SMITER_GUI .................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SMITER_GUI

Compilation: OK (1/1)
env CC=gcc CXX=g++ FC=gfortran ./sat launcher smiter-imas-9.5.0 --no_path_init
Generating launcher for smiter-imas-9.5.0 :
  /home/ITER/kosl/smiter-1.6.2/INSTALL/SMITER_GUI/salome
env CC=gcc CXX=g++ FC=gfortran ./sat prepare  SALOME-9.5.0 --product SALOME --force
Clean the source directories ...OK
Getting sources of the application SALOME-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

SALOME:                   arc:/home/ITER/kosl/smiter-1.6.2/ARCHIVES/SALOME.tgz ... OK

Getting sources of the application: OK (1 / 1)
Patching sources of the application SALOME-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2


Patching sources of the application: OK (1 / 1)
env CC=gcc CXX=g++ FC=gfortran ./sat compile  SALOME-9.5.0 --product SALOME --clean_all
Executing the compile commands in the build directories of the products of the application SALOME-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of SALOME ........................ OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/SALOME

Compilation: OK (1/1)
env CC=gcc CXX=g++ FC=gfortran ./sat launcher  SALOME-9.5.0 --no_path_init
Generating launcher for SALOME-9.5.0 :
  /home/ITER/kosl/smiter-1.6.2/INSTALL/SALOME/salome
./sat prepare smiter-imas-9.5.0 --product ELMER
Clean the source directories ...OK
Getting sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

ELMER:                   DIR: /home/ITER/kosl/smiter-1.6.2/ELMER ... OK

Getting sources of the application: OK (1 / 1)
Patching sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2


Patching sources of the application: OK (1 / 1)
./sat compile smiter-imas-9.5.0 --product ELMER --clean_all
Executing the compile commands in the build directories of the products of the application smiter-imas-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of ELMER ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/ELMER

Compilation: OK (1/1)
./sat prepare smiter-imas-9.5.0 --product RSECT
Clean the source directories ...OK
Getting sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2

RSECT:                     DIR: /home/ITER/kosl/smiter-1.6.2/RSECT ... OK

Getting sources of the application: OK (1 / 1)
Patching sources of the application smiter-imas-9.5.0
  workdir = /home/ITER/kosl/smiter-1.6.2


Patching sources of the application: OK (1 / 1)
./sat compile smiter-imas-9.5.0 --product RSECT --clean_all
Executing the compile commands in the build directories of the products of the application smiter-imas-9.5.0
  SOURCE directory = /home/ITER/kosl/smiter-1.6.2/SOURCES
   BUILD directory = /home/ITER/kosl/smiter-1.6.2/BUILD

Compilation of RSECT ......................... OK
INSTALL directory = /home/ITER/kosl/smiter-1.6.2/INSTALL/RSECT

Compilation: OK (1/1)
env CC=gcc CXX=g++ FC=gfortran ./sat launcher smiter-imas-9.5.0 --use_mesa --name smiter_mesa --no_path_init
Generating launcher for smiter-imas-9.5.0 :
  /home/ITER/kosl/smiter-1.6.2/smiter_mesa
env CC=gcc CXX=g++ FC=gfortran ./sat launcher smiter-imas-9.5.0 --use_mesa --name salome_mesa --no_path_init
Generating launcher for smiter-imas-9.5.0 :
  /home/ITER/kosl/smiter-1.6.2/salome_mesa
+ '[' 0 '!=' 0 ']'
+ touch /tmp/kosl/BLOCAL-smiter-imas-9.5.0/.built
+ make -C study
...
make: Leaving directory '/home/ITER/kosl/smiter-1.6.2/study'

4.4.13. Installation instructions for cluster admins

The follwing example works on ITER cluster running CentOS 7 and takes less than 5 hours to build:

ssh io-ls-titan.iter.org
TAG=1.6.0
mkdir -p /work/imas/opt/SMITER
cd /work/imas/opt/SMITER/
git clone ssh://git@git.iter.org/bnd/smiter.git $TAG
cd $TAG
git checkout develop
time ci_scripts/build_titan
mkdir -p /work/imas/etc/modulefiles/SMITER
cp examples/modulefiles/iter/SMITER/* \
   /work/imas/etc/modulefiles/SMITER/
mkdir -p /work/imas/etc/modulefiles/SALOME
cp examples/modulefiles/iter/SALOME/* \
  /work/imas/etc/modulefiles/SALOME/

Examine ci_scipts/ directory for similar continous integration scipts or use instructions below to build.

file:ci_scripts/install_smiter script that builds everything, installs and prepares modules for SALOME and SMITER. Installation is in separate directories and new versions of SMITER will reuse SALOME installation. The same goes if IMAS changes. Only new IMAS is installed and reused if no change in IMAS version. Just do:

cd ~/smiter/ && git pull
TARGET_ROOT=/tmp/$USER MODULEFILE_DIR=/tmp/$USER/modules \
ci_scripts/install_smiter

if you want to test the installation with:

module use /tmp/$USER/modules

Then you can repeat installation with just:

ci_scripts/install_smiter

that installs into default /work/imas/opt with modules in /work/imas/etc/modulefiles directory. Other variables are also settavbe therein.

4.4.14. Environment variables affecting SMITER GUI

SMITER does not require environment variables to be set as all are included in auto-generated launchers scripts. However, administrators may preset some settings to users using module environments in order to correctly use system dependent builds for MPI processing and example studies. These environment variables are:

SMITER_DIR

Point to the top directory where SMITER is installed or built. It is expected that subdirectory exec/ contains all compiled codes to be run by the GUI and that there is doc/ subdirectory with compiled reference manual that can be oppened at correct section when pressing Help button. If SMITER_DIR is not set the it is expected that ${HOME}/smiter/exec and ${HOME}/smiter/doc contain compiled files.

SMITER_MPI_DEFAULT_COMMAND

If set than this setting enforces and overrides default mpirun -np 4 command when using MPI on local workstation only. When utilizing cluster batch submission commands then this submission needs to be interactive and not detached. For example on ITER cluster the SLURM submission and OpenMPI that was compiled with MPI2 library provided by slurm-utils package can be set as:

env --unset=LD_PRELOAD srun -n 4 --mpi=pmi2 --tasks-per-node=2
    --constraint=ib_qdr --kill-on-bad-exit

to run on 4 processors specified to srun that does not finish until the code submitted exits. Note that there is no mpirun command needed when compiled with MPI2 library that determines run layout from the scheduler. Clearing LD_PRELOAD environment variable removes annoying VirtualGL “imposter” wrapping libraries message. Constraint to run on Infiniband (ib_qdr) can be removed when running on single node or having no such resource. Since communication between powcal processes is small SMITER runs well on clusters without Infiniband.

When using PBS/Torque/Maui schedulers then interactive commands can be obtained with:

env --unset=LD_PRELOAD qsub -I -V -N smiter -l nodes=2:ppn=12
 -x '/usr/mpich/bin/mpiexec -np 24 -machinefile %PBS_NODEFILE
     -wdir %PBS_O_WORKDIR %SMITER'

QSUB switches -I -x are providing interactive batch command needed for the workflow of codes.

The following variables are replaced at at submission:

%SMITER
Absolute path to SMITER code with arguments is replacing this variable.
%JOBNAME
Can be used instead of smiter following -N switch in above example.

Characters % are replaced with $ for ease of escaping in scripts, settings and module files. For example %PBS_NODEFILE is submitted as $PBS_NODEFILE at the command execution.

SMITER_MPI_SHELL_TYPE

Index of the shell used when submitted. For cases when the submission command does not provide TTY (standard output and input) streams one of the shells are required for that. Usually the need for shell is required when print output from codes in SMITER output window is desired. The following shell indexes can be set:

0
bash -c "<MPI run command>" is used. Default.
1
tcsh -c "<MPI run command>" is used.
2
ksh -c "<MPI run command>" is used.
SMITER_STUDY_EXAMPLES_DIR

If set then after SMITER module is activated the shortcut to study examples directory appears in File‣Open menu.

4.4.15. Platform notes

4.4.15.1. CentOS 7.x & 8.x

SMARDDA is know to compile incorrectly with OpenMPI based on system-default gfortran/4.8.5

Same or similar named packages can be found for CentOS 8.x.

The following packages are required on CentOS 7:

yum -y groupinstall 'Development Tools'
yum -y install redhat-lsb-core
yum -y install libXt-devel libXmu-devel mesa-libGL-devel mesa-libGLU-devel
yum -y install libXi-devel zlib-devel bzip2-devel libpng-devel libxpm-devel
yum -y install libXrender-devel freeglut-devel
yum -y install libjpeg-turbo-devel # For Pillow
yum -y install openssl-devel # required by Python
yum -y install xcb-util-keysyms xcb-util-devel # required by VirtualGL
yum -y install libxkbcommon-devel
yum -y install openmpi3-devel # For SMARDDA
yum -y install libtool # For OpenMPI
yum -y install libxkbcommon-x11-devel libXpm-devel cmake
# For IMAS
yum -y install java-1.8.0-openjdk-devel readline-devel xsltproc
# For UDA
yum -y install postgresql-libs libmemcached-devel

The SALOME module salome_system checks for above prerequsites at building stage. Before builing on a system for for the first time it is advisable to run:

sat config smiter --check_system

For building smiter-gui.pdf on CentOS 7 a separate texlive module is needed due to missing LaTeX styles (tabulary.sty, …).

If using spack then:

spack install texlive%gcc@4.8.5 scheme=full

is recommended. For gl2ps texlive needs to be complete and for that:

yum -y install texlive-collection-latexrecommended
yum -y install texlive-collection-latexextra
yum -y install texlive-collection-fontsrecommended
yum -y install texlive-collection-latexextra

and:

rm -rf ${HOME}/.texlive2012

is needed if building gl2ps.pdf compiling fails.

If fonts are not displayed one may need to explicitly export path to dejavu font directory with:

export QT_QPA_FONTDIR=/usr/share/fonts/dejavu

SMITER v1.6 requires VirtualGL version 2.6 or higher to resolve crashing of SMESH module.

Starting with SALOME 9.7.0 on CentOS 7 only platform, the package devtoolset-8 must be installed to enable an alternative compiler and the compilation command must be preceded by:

scl enable devtoolset-8 -- bash

For permanent inclusion in .bashrc it is needed to add:

source scl_source enable devtoolset-8

Devtoolset 8 is required to provide OpenMP 4.0 capabilities required by ParaView 5.9.x. Installing devtoolset-8 to CentOS 7 can be done with:

sudo yum install centos-release-scl
sudo yum install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-gcc-gfortran

4.4.15.2. CentOS 8 and AlmaLinux 8

In addition to CentOS 7 prerequisites the following packages are necessary:

yum -y install fontconfig-devel libtirpc-devel libicu-devel texlive-epstopdf

4.4.15.3. Ubuntu 16.04

Required packages:

apt-get install gfortran automake
apt-get install bison flex freeglut3-dev git glut3-dev libbz2-dev
apt-get install libgl1-mesa-dev libglu-dev libglut3-dev libpng16-dev
apt-get install libtool libxi-dev libxm-dev libxmu-dev libxrender-dev
apt-get install libxt-dev mesa-common-dev texlive zlib1g-dev
apt-get install libopenmpi-dev
apt-get install libjpeg-dev
apt-get install libxpm-dev
# For UDA
apt-get install libpg-dev libmemcached-dev postgresql-server-dev-all

4.4.15.4. Ubuntu 19.04

Required packages:

apt-get install gfortran automake
apt-get install bison flex freeglut3-dev git libbz2-dev
apt-get install libgl1-mesa-dev libglu-dev libpng-dev
apt-get install libtool libxi-dev libxm4 libxmu-dev libxrender-dev
apt-get install libxt-dev mesa-common-dev texlive zlib1g-dev
apt-get install libopenmpi-dev libmotif-dev libtbb-dev
apt-get install libjpeg-dev
apt-get install libegl1-mesa-dev libjpeg62-dev libts-dev
apt-get install libcups2-dev libmysqlclient-dev libncurses5
apt-get install libxpm-dev
# For UDA
apt-get install libpng-dev libmemcached-dev postgresql-server-dev-all

.. note::

   Some errors might occur when compiling Qt due to a critical bug
   (see <https://bugreports.qt.io/browse/QTBUG-76957>_). This is resolved by
   adding ``#include <linux/sockios.h>`` in :file:`socketcanbackend.cpp`.

4.4.15.5. Ubuntu 18.04

Packages are the same as for Ubuntu 19.04.

If getting in ParaView build:

ERROR: The OpenGL functionality tests failed!
You might need to modify the include and library search paths by editing QMAKE_INCDIR_OPENGL[_ES2],
QMAKE_LIBDIR_OPENGL[_ES2] and QMAKE_LIBS_OPENGL[_ES2] in the mkspec for your platform.
ERROR on configure

then add a line to INSTALL/qt/lib/cmake/Qt5/Qt5ModuleLocation.cmake:

cmake_policy(set cmp0053 new)

and to SOURCES/ParaView/CMakeList.txt:

cmake_policy(set cmp0072 new)

4.4.15.6. Debian 8.6

Required packages:

apt-get install build-essential module-assistant make gcc g++ gfortran git
m-a prepare
apt-get install bison flex freeglut3-dev libbz2-dev libglw1-mesa libmotif-dev
apt-get install libgl1-mesa-dev libglu1-mesa-dev libpng12-dev libxi-dev
apt-get install libtool libxmu-dev libxrender-dev libxt-dev mesa-common-dev
apt-get install texlive latexmk zlib1g-dev libncurses5-dev doxygen automake
apt-get install libopenmpi-dev curl
apt-get install libjpeg-dev
apt-get install openjdk-8-jdk libreadline-dev xsltproc
# For UDA
apt-get install postgresql-server-dev-all libmemcached-dev

4.4.15.7. Debian 9 (stretch)

Additionally to Debian 8.6, net-tools have to be installed:

apt-get install net-tools libssl1.0-dev

4.4.15.8. Debian 10 (buster)

Complete set of packages:

apt-get install build-essential module-assistant make gcc g++ gfortran git
m-a prepare
apt-get install bison flex freeglut3-dev libbz2-dev libglw1-mesa libmotif-dev
apt-get install libpng-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev
apt-get install libtool libxmu-dev libxrender-dev libxt-dev mesa-common-dev
apt-get install texlive latexmk zlib1g-dev libncurses5-dev doxygen automake
apt-get install libopenmpi-dev curl texlive-font-utils
apt-get install net-tools libtbb-dev
apt-get install libjpeg-dev
# For OpenMPI
apt-get install libtool
# For IMAS
apt-get install openjdk-11-jdk libreadline-dev xsltproc
# Symbolic link of JRE directory
sudo ln -s /lib/jvm/java-11-openjdk-amd64 /lib/jvm/java-11-openjdk-amd64/jre
# For UDA
apt-get install postgresql-server-dev-all libmemcached-dev libpg-dev

Since libssl-dev on Debian 10 is too new, one needs to downgrade it by downloading from <https://packages.debian.org/stretch/libssl1.0-dev>_ and replacing with:

apt-get remove libssl-dev
dpkg -i libssl1.0.2_1.0.2r-1~deb9u1_amd64.deb
dpkg -i libssl1.0-dev_1.0.2r-1~deb9u1_amd64.deb

The header file local.h must be linked as xlocale.h, otherwise, the CAS module will not compile:

sudo ln -s /usr/include/locale.h /usr/include/xlocale.h

4.4.15.9. ITER cluster

ITER cluster with CentOS 7 required relinking of BUILD/ParaView to /tmp directory due to file locking problem on the BeeGFS filesystem. If experiencing build problems on other systems then one is advised to do:

module load GCC/6.4.0-2.28

and use ci_scripts/build_local or build scripts in temporary directory as described above.

Complete SMITER building on io-ls-titan.iter.org takes over 6 hours.

MPI compilation of SMARDDA is available with the following commands:

module use /work/imas/etc/modulefiles
module load iompi/2018a
make smardda-mpi

Module iompi/2018a provides pmi2 interface and Intel compiler that compiles SMARDDA compatible for sumbission on any (gen8, gen9, gen10) cluster partition!

For running on SLURM one then needs to set MPI Run command in SMITER preferences:

env --unset=LD_PRELOAD srun -n 4 --mpi=pmi2 --tasks-per-node=2 --constraint=ib_qdr --kill-on-bad-exit

For above to work OpenMPI needs to be compiled with PMI2 library! Environment LD_PRELOAD is cleared to remove VirtualGL imposter libraries preloads that polute log files when running batch without X11.

ITER Cluster with CentOS 8 provides iompi/2020a and gompi/2020a toolchains that can be used for MPI compilation only if libxml2 module is unloaded from the toolchain. See ci_scripts/SMITER-1.6.2-iompi2020a.eb for details.

4.4.15.10. Microsoft Windows 10 64-bit

Windows version 1.4 of SMITER GUI is precompiled. It consists of native windows application and linux subsystem (WSL) for running SMITER kernel. The instructions of how to install is described under file:windows/README.md.