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 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.
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 isdoc/
subdirectory with compiled reference manual that can be oppened at correct section when pressing Help button. IfSMITER_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 byslurm-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 betweenpowcal
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
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.