--- /dev/null
+@echo off
+
+echo ##########################################################################
+echo hdf5 %VERSION%
+echo ##########################################################################
+
+IF NOT DEFINED SAT_DEBUG (
+ SET SAT_DEBUG=0
+)
+
+SET PRODUCT_BUILD_TYPE=Release
+if %SAT_DEBUG% == 1 (
+ set PRODUCT_BUILD_TYPE=Debug
+)
+
+if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
+
+REM clean BUILD directory
+if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR%
+mkdir %BUILD_DIR%
+
+SET CMAKE_OPTIONS=-DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_SHARED_LIBS:BOOL=ON
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DADAO_ROOT_DIR=%ADAO_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DGUI_ROOT_DIR=%GUI_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeGUI_DIR=%GUI_ROOT_DIR:\=/%/adm_local/cmake_files
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DKERNEL_ROOT_DIR=%KERNEL_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeKERNEL_DIR=%KERNEL_ROOT_DIR:\=/%/salome_adm/cmake_files
+REM SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenTURNS_DIR=$OT_ROOT_DIR/lib/cmake/openturns
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPy2cpp_DIR=%PY2CPP_ROOT_DIR:\=/%/lib/cmake/py2cpp
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSPHINX_ROOT_DIR=%SPHINX_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DYACS_ROOT_DIR=%YACS_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeYACS_DIR=%YACS_ROOT_DIR:\=/%/adm/cmake
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dydefx_DIR=%YDEFX_ROOT_DIR:\=/%/salome_adm/cmake_files
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_INCLUDE_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/%/include
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_ROOT_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SALOME=ON
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT=%TBB_ROOT_DIR:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_INCLUDE_DIR=%TBB_ROOT_DIR:\=/%/include
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_INCLUDE_DIR=%PYTHON_INCLUDE:\=/%
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_FIND_ROOT_PATH=ON
+REM CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE:PATH=$(which swig)"
+SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include
+
+if defined CMAKE_GENERATOR (
+ set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR=%CMAKE_GENERATOR%
+) else (
+ set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_GENERATOR="Visual Studio 15 2017 Win64"
+)
+
+set MSBUILDDISABLENODEREUSE=1
+
+cd %BUILD_DIR%
+
+echo.
+echo --------------------------------------------------------------------------
+echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
+echo --------------------------------------------------------------------------
+
+%CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR%
+if NOT %ERRORLEVEL% == 0 (
+ echo ERROR on CMake
+ exit 1
+)
+
+echo.
+echo --------------------------------------------------------------------------
+echo *** msbuild %MAKE_OPTIONS% ALL_BUILD.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64
+echo --------------------------------------------------------------------------
+
+msbuild %MAKE_OPTIONS% ALL_BUILD.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64
+if NOT %ERRORLEVEL% == 0 (
+ echo ERROR on msbuild ALL_BUILD.vcxproj
+ exit 2
+)
+
+echo.
+echo --------------------------------------------------------------------------
+echo *** msbuild %MAKE_OPTIONS% INSTALL.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64
+echo --------------------------------------------------------------------------
+
+msbuild %MAKE_OPTIONS% INSTALL.vcxproj /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64
+if NOT %ERRORLEVEL% == 0 (
+ echo ERROR on msbuild INSTALL.vcxproj
+ exit 3
+)
+
+taskkill /F /IM "mspdbsrv.exe"
+
+echo.
+echo ########## END
+
+
--- /dev/null
+#!/bin/bash
+
+echo "##########################################################################"
+echo "openturns" $VERSION
+echo "##########################################################################"
+
+# we don't install in python directory -> modify environment as described in INSTALL file
+
+#mkdir -p $PRODUCT_INSTALL/lib/python${PYTHON_VERSION}/site-packages
+export PATH=$(pwd)/bin:$PATH
+export PYTHONPATH=$(pwd):$PYTHONPATH
+export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:$PYTHONPATH
+
+CMAKE_OPTIONS=""
+if [ -n "$SAT_HPC" ] && [ -n "$MPI_ROOT_DIR" ]; then
+ echo "WARNING: setting CC and CXX environment variables and target MPI wrapper"
+ CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
+ CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
+fi
+
+CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}"
+CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
+CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}"
+
+if [ -n "$SWIG_ROOT_DIR" ] && [ "$SAT_swig_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig"
+fi
+
+if [ -n "$TBB_ROOT_DIR" ] && [ "$SAT_tbb_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DTBB_ROOT_DIR=${TBB_ROOT_DIR}"
+ CMAKE_OPTIONS+=" -Dtbb_DIR=${TBB_ROOT_DIR}/lib/cmake"
+fi
+
+# https://github.com/persalys/persalys/issues/745
+LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
+case $LINUX_DISTRIBUTION in
+ UB22*|CO8*|CO9*|FD36|FD37)
+ echo "WARNING: switching OFF TBB support"
+ CMAKE_OPTIONS+=" -DUSE_TBB=OFF"
+ ;;
+ *)
+ ;;
+esac
+
+# Blas/Lapack
+if [ -n "$LAPACK_ROOT_DIR" ] && [ "$SAT_lapack_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DLAPACK_DIR=${LAPACK_ROOT_DIR}/lib/cmake/lapack-3.8.0"
+ CMAKE_OPTIONS+=" -DCBLAS_DIR=${LAPACK_ROOT_DIR}/lib/cmake/cblas-3.8.0"
+ CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libcblas.so"
+ CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libblas.so"
+fi
+
+### libxml2 settings
+if [ -n "$LIBXML2_ROOT_DIR" ] && [ "$SAT_libxml2_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
+ CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
+ CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
+fi
+
+# HDF5
+if [ -n "$HDF5_ROOT_DIR" ] && [ "$SAT_hdf5_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5"
+ CMAKE_OPTIONS+=" -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF"
+ CMAKE_OPTIONS+=" -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR}"
+ CMAKE_OPTIONS+=" -DHDF5_hdf5_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib"
+ CMAKE_OPTIONS+=" -DHDF5_hdf5_hl_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
+ CMAKE_OPTIONS+=" -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
+ CMAKE_OPTIONS+=" -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include"
+fi
+
+# CMINPACK
+if [ -n "$CMINPACK_ROOT_DIR" ] && [ "$SAT_cminpack_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
+ CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
+ CMAKE_OPTIONS+=" -DCMINPACK_LIBRARY=$CMINPACK_ROOT_DIR/lib/libcminpack_s.a"
+else
+ CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
+ CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
+fi
+
+# Blas/Lapack
+if [ -n "$LAPACK_ROOT_DIR" ] && [ "$SAT_lapack_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DLAPACK_DIR=${LAPACK_ROOT_DIR}/lib/cmake/lapack-3.8.0"
+ CMAKE_OPTIONS+=" -DCBLAS_DIR=${LAPACK_ROOT_DIR}/lib/cmake/cblas-3.8.0"
+ CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libcblas.so"
+ CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libblas.so"
+fi
+
+if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && -f /usr/lib64/libcblas.so && -f /usr/lib64/libblas.so ]]; then
+ CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=/usr/lib64/libcblas.so"
+ CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=/usr/lib64/libblas.so"
+fi
+
+### libxml2 settings
+if [ -n "$LIBXML2_ROOT_DIR" ] && [ "$SAT_libxml2_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
+ CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
+ CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
+fi
+
+## nlopt
+if [ -n "$NLOPT_ROOT_DIR" ] && [ "$SAT_nlopt_IS_NATIVE" != "1" ]; then
+ CMAKE_OPTIONS+=" -DNLOPT_INCLUDE_DIRS:STRING=${NLOPT_ROOT_DIR}/include"
+ CMAKE_OPTIONS+=" -DNLOPT_LIBRARIES:STRING=${NLOPT_ROOT_DIR}/lib"
+ CMAKE_OPTIONS+=" -DNLOPT_DIR:STRING=${NLOPT_ROOT_DIR}"
+fi
+
+echo
+echo "*** cmake" $CMAKE_OPTIONS
+
+rm -rf $BUILD_DIR
+mkdir -p $BUILD_DIR/openturns
+mkdir -p $BUILD_DIR/cache/pip
+
+# since we are using several nodes and share the same $HOME
+# compilation can get screwed up.
+# following this discussion: https://tex.stackexchange.com/questions/467824/is-it-possible-to-relocate-my-texmf-directory
+# we define the following environment variables
+export TEXMFHOME=$BUILD_DIR/texmf
+export TEXMFVAR=$BUILD_DIR/texlive
+export TEXMFCONFIG=$BUILD_DIR/texlive
+mkdir -p $TEXMFHOME
+mkdir -p $TEXMFVAR
+mkdir -p $TEXMFCONFIG
+
+cd $BUILD_DIR/openturns
+cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.19
+if [ $? -ne 0 ]
+then
+ echo "ERROR on cmake"
+ exit 1
+fi
+
+echo
+echo "*** make" $MAKE_OPTIONS
+make $MAKE_OPTIONS
+if [ $? -ne 0 ]
+then
+ echo "ERROR on make"
+ exit 2
+fi
+
+echo
+echo "*** make install"
+make install
+if [ $? -ne 0 ]
+then
+ echo "ERROR on make install"
+ exit 3
+fi
+
+echo
+echo "*** check installation"
+if [! -d "${PRODUCT_INSTALL}/lib" ]; then
+ mkdir -p ${PRODUCT_INSTALL}/lib
+fi
+
+if [ -d "${PRODUCT_INSTALL}/lib64" ]; then
+ echo "WARNING: moving lib64 to lib"
+ mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib/
+ rmdir ${PRODUCT_INSTALL}/lib64
+elif [ -d "${PRODUCT_INSTALL}/local/lib64" ]; then
+ echo "WARNING: moving local/lib64 to lib"
+ mv ${PRODUCT_INSTALL}/local/lib64/* ${PRODUCT_INSTALL}/lib/
+ rmdir ${PRODUCT_INSTALL}/local/lib64
+fi
+
+if [[ -d "${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/dist-packages" ]]; then
+ echo "WARNING: renaming ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/dist-packages as ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages"
+ cd ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}
+ ls -l
+ mv dist-packages site-packages
+ ls -l
+ cd $BUILD_DIR/openturns
+fi
+
+export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
+export LD_LIBRARY_PATH=${PRODUCT_INSTALL}/lib:${LD_LIBRARY_PATH}
+chmod +x ${SOURCE_DIR}/openturns-1.19/python/test/t_features.py
+${SOURCE_DIR}/openturns-1.19/python/test/t_features.py
+if [ $? -ne 0 ]
+then
+ echo "ERROR testing Openturns features...."
+ exit 4
+fi
+
+LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH}
+if [[ -d "$SOURCE_DIR/otfftw-0.12" ]]; then
+ declare -A OTC
+ OTC["otagrum"]="0.6"
+ OTC["otfftw"]="0.12"
+ OTC["otmixmod"]="0.13"
+ OTC["otmorris"]="0.13"
+ OTC["otpmml"]="1.12"
+ OTC["otrobopt"]="0.11"
+ OTC["otsubsetinverse"]="1.9"
+ OTC["otsvm"]="0.11"
+
+ for k in ${!OTC[@]};
+ do
+ echo
+ echo "*** C O M P O N E N T : $k-${OTC[$k]} "
+ if [[ $k == "otagrum" ]]; then
+ echo "WARNING: skipping $k.."
+ continue
+ fi
+ cd $BUILD_DIR
+ mkdir ${BUILD_DIR}/$k
+ cd ${BUILD_DIR}/$k
+ CMAKE_EXTRA_OPTIONS=
+ if [[ $DIST_NAME == "CO" ]]; then
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" # needs extra latex modules on CentOS 7, 8
+ CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF"
+ fi
+ if [[ $k == "otmixmod" ]]; then
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ CMAKE_EXTRA_OPTIONS+=" -DSOURCEFILES=$SOURCE_DIR/$k-${OTC[$k]}"
+ elif [[ $k == "otsubsetinverse" ]]; then
+ CMAKE_EXTRA_OPTIONS+=" -DOPENTURNS_HOME=$PRODUCT_INSTALL"
+ CMAKE_EXTRA_OPTIONS+=" -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON"
+ CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF"
+ elif [[ $k == "otfftw" ]]; then
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ elif [[ $k == "otmorris" ]]; then
+ case $LINUX_DISTRIBUTION in
+ DB*|FD*|UB*)
+ echo "WARNING: switching OFF documentation build"
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed.
+ ;;
+ esac
+ elif [[ $k == "otrobopt" ]]; then
+ case $LINUX_DISTRIBUTION in
+ DB*|FD*|UB*)
+ echo "WARNING: switching OFF documentation build"
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed.
+ ;;
+ esac
+ elif [[ $k == "otsvm" ]]; then
+ case $LINUX_DISTRIBUTION in
+ DB*|FD*|UB*)
+ echo "WARNING: switching OFF documentation build"
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed.
+ ;;
+ esac
+ elif [[ $k == "otpmml" ]]; then
+ CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+ fi
+
+ echo
+ echo "*** cmake " $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
+ cmake $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
+ if [ $? -ne 0 ]
+ then
+ echo "ERROR on cmake"
+ exit 1
+ fi
+
+ echo
+ echo "*** make" $MAKE_OPTIONS
+ make $MAKE_OPTIONS
+ if [ $? -ne 0 ]
+ then
+ echo "ERROR on make"
+ exit 2
+ fi
+
+ echo
+ echo "*** make install"
+ make install
+ if [ $? -ne 0 ]
+ then
+ echo "ERROR on make install"
+ exit 3
+ fi
+ done
+
+ declare -A OTP
+ OTP["otfmi"]="0.15"
+ OTP["otpod"]="0.6.8"
+ OTP["otwrapy"]="0.11"
+ for k in ${!OTP[@]};
+ do
+ echo
+ echo "*** C O M P O N E N T : $k-${OTP[$k]} "
+
+ if [ "$SAT_Python_IS_NATIVE" == "1" ]; then
+ if [ $k == "otfmi" ]; then
+ echo "INFO: install dill-0.3.4"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/dill-0.3.4/dill-0.3.4-py2.py3-none-any.whl --no-deps --prefix=$PRODUCT_INSTALL
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install dill-0.3.4"
+ exit 6
+ fi
+ elif [ $k == "otpod" ]; then
+ if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" ]]; then
+ echo "*** skipping: since system Cython too old"
+ continue
+ fi
+ echo "INFO: install scikit-learn-0.24.2"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps --prefix=$PRODUCT_INSTALL
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install scikit-0.24.2"
+ exit 6
+ fi
+ echo "INFO: install threadpoolctl-3.0.0"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/threadpoolctl-3.0.0/threadpoolctl-3.0.0-py3-none-any.whl --no-deps --prefix=$PRODUCT_INSTALL
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install threadpoolctl 3.0.0"
+ exit 6
+ fi
+ fi
+ else # non native Python
+ if [[ $k == "otfmi" ]]; then
+ echo "INFO: install dill-0.3.4"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/dill-0.3.4/dill-0.3.4-py2.py3-none-any.whl --no-deps
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install dikk-0.3.4"
+ exit 5
+ fi
+ elif [[ $k == "otpod" ]]; then
+ echo "INFO: install threadpoolctl-3.0.0"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/threadpoolctl-3.0.0/threadpoolctl-3.0.0-py3-none-any.whl --no-deps
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install readpoolctl 3.0.0"
+ exit 6
+ fi
+ echo "INFO: install joblib-1.1.0"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/joblib-1.1.0/joblib-1.1.0-py2.py3-none-any.whl --no-deps
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install joblib-1.1.0"
+ exit 6
+ fi
+ echo "INFO: install decorator-5.1.0"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/decorator-5.1.0/decorator-5.1.0-py3-none-any.whl --no-deps
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install decorator-5.1.0"
+ exit 6
+ fi
+ echo "INFO: install scikit-learn-0.24.2"
+ ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps
+ if [ $? -ne 0 ]
+ then
+ echo "FATAL: could not install scikit-0.24.2"
+ exit 6
+ fi
+ fi
+ fi
+
+ cd $BUILD_DIR
+ mkdir ${BUILD_DIR}/$k
+ cd ${BUILD_DIR}/$k
+ cp -R $SOURCE_DIR/$k-${OTP[$k]}/* .
+ #
+ $PYTHONBIN setup.py build
+ if [ $? -ne 0 ]
+ then
+ echo "ERROR on ${PYTHONBIN} setup.py build"
+ exit 4
+ fi
+ #
+ $PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL
+ if [ $? -ne 0 ]
+ then
+ echo "ERROR on ${PYTHONBIN} setup.py install --prefix=$PRODUCT_INSTALL"
+ exit 5
+ fi
+ done
+
+ #
+ # O P E N T U R N S
+ #
+ if [ -f ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py ]; then
+ echo "INFO: site.py already installed"
+ elif [ "$SAT_Python_IS_NATIVE" == "1" ]; then
+ # check first whether the init.py file is installed
+ echo "WARNING: missing init.py file. Installing it from system Python installation"
+ SITE_PATCH=
+ LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
+ case $LINUX_DISTRIBUTION in
+ DB11)
+ SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py
+ ;;
+ DB10)
+ SITE_PATCH=/usr/lib/python3/dist-packages/setuptools/site-patch.py
+ ;;
+ UB22*)
+ SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py
+ ;;
+ UB20*)
+ SITE_PATCH=/usr/lib/python3/dist-packages/setuptools/site-patch.py
+ ;;
+ FD32)
+ SITE_PATCH=/usr/lib/python3.8/site-packages/setuptools/site-patch.py
+ ;;
+ FD34)
+ SITE_PATCH=$SOURCE_DIR/addons/site-patch.py
+ ;;
+ FD36)
+ SITE_PATCH=$SOURCE_DIR/addons/site-patch.py
+ ;;
+ FD37)
+ SITE_PATCH=$SOURCE_DIR/addons/site-patch.py
+ ;;
+ CO8*)
+ SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py
+ ;;
+ *)
+ SITE_PATCH=$SOURCE_DIR/addons/site-patch.py
+ ;;
+ esac
+ # check whether this file exists
+ if [ "${SITE_PATCH}" == "" ]; then
+ cp $SOURCE_DIR/addons/site-patch.py ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py
+ else
+ cp $SITE_PATCH ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py
+ fi
+ elif [ -f ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/setuptools/site-patch.py ]; then
+ cp ${PYTHON_ROOT_DIR}/lib/python${PYTHON_VERSION}/site-packages/setuptools/site-patch.py ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py
+ else
+ echo "ERROR: could not find site-patch.py"
+ exit 7
+ fi
+fi
+
+cd ${PRODUCT_INSTALL}/lib
+# On some nodes, the link to OT is not done properly.
+# In addition to this issue, it seems that there is a bug in openturns 1.19 which uses 20 instead of 19 as suffix.
+if [[ ! -f libOT.so.0 ]]; then
+ echo "INFO: Fixing libOT.so"
+ ln -sf libOT.so.0.20.0 libOT.so.0.20
+ ln -sf libOT.so.0.20 libOT.so.0
+ ln -sf libOT.so.0 libOT.so
+fi
+
+echo
+echo "########## END"