]> SALOME platform Git repositories - tools/sat_salome.git/commitdiff
Salome HOME
spns #32239 - openturns 1.19
authorNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 21 Sep 2022 10:28:46 +0000 (12:28 +0200)
committerNabil Ghodbane <nabil.ghodbane@cea.fr>
Wed, 21 Sep 2022 10:28:46 +0000 (12:28 +0200)
applications/SALOME-master.pyconf
products/ParaView.pyconf
products/Python.pyconf
products/compil_scripts/Python-3.6.15.sh [new file with mode: 0755]
products/compil_scripts/Python-3.9.14.sh [new file with mode: 0755]
products/compil_scripts/openturns-1.19.sh [new file with mode: 0755]
products/compil_scripts/tbb-2019_U8.bat [new file with mode: 0644]
products/compil_scripts/tbb-2019_U8.sh [new file with mode: 0755]
products/openturns.pyconf
products/patches/openturns-1.19.0001.patch [new file with mode: 0644]
products/tbb.pyconf

index 64c96637c9c78835d1181bcf415adc03752b6715..3ec1a4265e8aca038f99d07857468027c3650b9f 100644 (file)
@@ -43,7 +43,7 @@ APPLICATION :
         cgns : '4.2.0'
         chardet : '3.0.4'
         click : '6.7'
-        cmake : '3.12.1'
+        cmake : '3.24.2'
         cminpack: '1.3.6'
         cppunit : '1.13.2'
         cycler : '0.10.0'
@@ -73,7 +73,7 @@ APPLICATION :
         libxml2 : '2.9.1'
         llvm : '8.0.1-clang'
         markupsafe : '0.23'
-        matplotlib : '3.0.3'
+        matplotlib : '3.6.0'
         medfile : '4.1.1'
         mesa : '19.0.8'
         MeshGems : '2.14-4'
@@ -91,24 +91,25 @@ APPLICATION :
         omniORBpy : '4.2.2'
         opencv : '3.2.0'
         openmpi : '3.1.6'
-        openturns: '1.18'
+        openturns: '1.19'
         openVKL: '0.11.0'
         ospray : '2.4.0'
         packaging : '17.1'
         pandas : '0.25.2'
         patsy : '0.5.2'
-        ParaView : {tag:'5.9.0', base: 'no',  section: 'version_5_9_0_MPI', hpc: 'yes'}
+        ParaView : {tag:'08c5d057a8', base: 'no',  section: 'version_5_11_0_MPI', hpc: 'yes'}
         PERSALYS: 'v12.0'
         petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'}
         Pillow : '7.1.1'
         planegcs : '0.18-3cb6890'
         psutil : '5.7.2'
-        PyFMI : '2.5'
+        PyFMI : {tag: '2.6',   base: 'no', section: 'version_2_6_no_pip'}
         Pygments : '2.0.2'
         pyparsing : '2.0.3'
         PyQt : '5.15.3'
         pyreadline : '2.0'
-        Python : '3.6.5'
+        ##Python : '3.9.14'
+        Python : '3.6.15'
         pytz : '2017.2'
         qt : '5.12.10'
         qwt : '6.1.2'
index 1c039387a27b2439fba8b701cfb6ca849cefdf29..b99217e98dfbde13a800cd28890701ffb56bd81d 100755 (executable)
@@ -30,6 +30,161 @@ default :
     }
 }
 
+version_5_11_0 :
+{
+    opt_depend : ['openmpi', 'ospray','tbb', 'openturns', 'gdal', 'netcdf']
+    compil_script :  'ParaView-5.11.0.sh'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    # two other LATA patches already included in archive
+    patches : ['paraview.0003-ParaViewClient.patch',
+               'paraview.0004-ParaView_hdf5.patch',
+               'paraview.0005-ParaView_find_cgns.patch',
+               'paraview.0006-ParaView_find_libxml2.patch',
+               'paraview.0007-ParaView_find_freetype.patch',
+               'paraview.0010-ParaView_CATALYST_cmake.patch',
+               'paraview.0008-ParaView_coincident_rendering.patch',
+               'paraview.0011-ParaView_protobuf_crash.patch',
+               'paraview.0015-Paraview_VTKM_ioss.patch',
+               'paraview-5.9.0-gcc.11.0.patch',
+               'paraview.0018-spns-26351-autoconvert.patch',
+               'paraview.0019-spns-26344-VTK-OpenMP.patch'
+              ]
+}
+
+version_5_11_0_int32 :
+{
+    compil_script :  'ParaView-5.11.0.sh'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    # two other LATA patches already included in archive
+    patches : ['paraview.0003-ParaViewClient.patch',
+               'paraview.0004-ParaView_hdf5.patch',
+               'paraview.0005-ParaView_find_cgns.patch',
+               'paraview.0006-ParaView_find_libxml2.patch',
+               'paraview.0007-ParaView_find_freetype.patch',
+               'paraview.0010-ParaView_CATALYST_cmake.patch',
+               'paraview.0008-ParaView_coincident_rendering.patch',
+               'paraview.0011-ParaView_protobuf_crash.patch',
+               'paraview.0015-Paraview_VTKM_ioss.patch',
+               'paraview.0018-spns-26351-autoconvert.patch',
+               'paraview.0019-spns-26344-VTK-OpenMP.patch'
+              ]
+}
+
+version_5_11_0_win :
+{
+    compil_script :  'ParaView-5.11.0.bat'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    depend : [
+              'Python',
+              'hdf5',
+              'qt',
+              'boost',
+              'libxml2',
+              'freetype',
+              'cgns',
+              'Pygments',
+              'pthreads',
+              'zlib'
+             ]
+    opt_depend : ['openmpi', 'ospray','tbb', 'openturns', 'rkCommon', 'matplotlib']
+    patches : ['paraview.0003-ParaViewClient.patch',
+               'paraview.0004-ParaView_hdf5.patch',
+               'paraview.0005-ParaView_find_cgns.patch',
+               'paraview.0006-ParaView_find_libxml2.patch',
+               'paraview.0007-ParaView_find_freetype.patch',
+               'paraview.0009-ParaView_find_zlib.patch',
+               'paraview.0010-ParaView_CATALYST_cmake.patch',
+               'paraview.1001-ParaView_windows_catalyst_cmake.patch',
+               'paraview.0008-ParaView_coincident_rendering.patch',
+               'paraview.0011-ParaView_protobuf_crash.patch',
+               'paraview.0018-spns-26351-autoconvert.patch',
+               'paraview.0019-spns-26344-VTK-OpenMP.patch',
+               'paraview.0015-Paraview_VTKM_ioss.patch'
+              ]
+}
+
+version_5_11_0_win_dbg :
+{
+    compil_script :  'ParaView-5.9.0.bat'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    depend : [
+              'Python',
+              'hdf5',
+              'qt',
+              'boost',
+              'libxml2',
+              'freetype',
+              'cgns',
+              'Pygments',
+              'pthreads',
+              'zlib'
+             ]
+    opt_depend : ['openmpi', 'ospray','tbb', 'openturns', 'rkCommon', 'matplotlib']
+    patches : ['paraview.0003-ParaViewClient.patch',
+               'paraview.0004-ParaView_hdf5.patch',
+               'paraview.0005-ParaView_find_cgns.patch',
+               'paraview.0006-ParaView_find_libxml2.patch',
+               'paraview.0007-ParaView_find_freetype.patch',
+               'paraview.0009-ParaView_find_zlib.patch',
+               'paraview.0010-ParaView_CATALYST_cmake.patch',
+               'paraview.1001-ParaView_windows_catalyst_cmake.patch',
+               'paraview.0008-ParaView_coincident_rendering.patch',
+               'paraview.0011-ParaView_protobuf_crash.patch',
+               'paraview.0018-spns-26351-autoconvert.patch',
+               'paraview.0019-spns-26344-VTK-OpenMP.patch',
+               'paraview.0015-Paraview_VTKM_ioss.patch',
+               'paraview-5.9.0-vs-debug.patch'
+              ]
+}
+
+version_5_11_0_MPI :
+{
+    compil_script :  'ParaView-5.11.0.sh'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    patches : []
+    # patches : ['paraview.0003-ParaViewClient.patch',
+    #            'paraview.0004-ParaView_hdf5.patch',
+    #            'paraview.0005-ParaView_find_cgns.patch',
+    #            'paraview.0006-ParaView_find_libxml2.patch',
+    #            'paraview.0007-ParaView_find_freetype.patch',
+    #            'paraview-5.9-VTKM_MPI.patch',
+    #            'paraview.0010-ParaView_CATALYST_cmake.patch',
+    #            'paraview.0008-ParaView_coincident_rendering.patch',
+    #            'paraview.0011-ParaView_protobuf_crash.patch',
+    #            'paraview.0015-Paraview_VTKM_ioss.patch',
+    #            'paraview-5.9.0-gcc.11.0.patch',
+    #            'paraview.0017-VTK-openMPI-if-devtoolset.patch',
+    #            'paraview.0018-spns-26351-autoconvert.patch',
+    #            'paraview.0019-spns-26344-VTK-OpenMP.patch',
+    #            'paraview.0020.findMPI.patch',
+    #            'paraview.0021-FindGDAL.patch'
+    #           ]
+}
+
+version_5_11_0_MPI_LATA_64BITS_IDS :
+{
+    compil_script :  'ParaView-5.11.0.sh'
+    archive_info : {archive_name : "ParaView-5.11.0-08c5d057a8.tar.gz"}
+    patches : ['paraview.0003-ParaViewClient.patch',
+               'paraview.0004-ParaView_hdf5.patch',
+               'paraview.0005-ParaView_find_cgns.patch',
+               'paraview.0006-ParaView_find_libxml2.patch',
+               'paraview.0007-ParaView_find_freetype.patch',
+               'paraview-5.9-VTKM_MPI.patch',
+               'paraview.0010-ParaView_CATALYST_cmake.patch',
+               'paraview.0008-ParaView_coincident_rendering.patch',
+               'paraview.0011-ParaView_protobuf_crash.patch',
+               'paraview.0015-Paraview_VTKM_ioss.patch',
+               'paraview-5.9.0-gcc.11.0.patch',
+               'paraview.0017-VTK-openMPI-if-devtoolset.patch',
+               'paraview.0018-spns-26351-autoconvert.patch',
+               'paraview.0019-spns-26344-VTK-OpenMP.patch',
+               'paraview.0020.findMPI.patch',
+               'paraview.0021-FindGDAL.patch',
+               'paraview-0012-LATA_64BITS_IDS.patch'
+              ]
+}
+
 version_5_10_0 :
 {
     compil_script :  'ParaView-5.10.0.sh'
index d14395a04b02e883227353976e8c9670ef1cfa73..016d3aa60f972e2e2d4b9d8b9c581195f5bf1195 100755 (executable)
@@ -62,6 +62,23 @@ version_3_6_8 :
  patches : []
 }
 
+version_3_6_15 :
+{
+ compil_script : "Python-3.6.15.sh"
+ patches : []
+}
+
+version_3_6_15_FD34:
+{
+  patches: ["python_3.6.15-allocation.patch"] # https://github.com/pyenv/pyenv/issues/1889
+}
+
+version_3_6_15_win :
+{
+    compil_script : "Python-3.6.15.bat"
+    patches : ['Python-3.6.15_windows.patch']
+}
+
 version_3_7_9 :
 {
  patches : []
@@ -74,3 +91,16 @@ version_3_7_9_win :
     build_depend : ['perl']
 }
  
+version_3_9_14 :
+{
+ compil_script : "Python-3.9.14.sh"
+ patches : []
+}
+
+version_3_9_14_win :
+{
+    compil_script : "Python-3.9.14.bat"
+    patches : []
+    build_depend : ['perl']
+}
diff --git a/products/compil_scripts/Python-3.6.15.sh b/products/compil_scripts/Python-3.6.15.sh
new file mode 100755 (executable)
index 0000000..c2690d9
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+echo "##########################################################################"
+echo "Python" $VERSION
+echo "##########################################################################"
+
+if [ ${#VERSION} -lt 5 ]
+then
+    echo "ERROR : VERSION argument of Python compilation script has not the expected x.y.z format"
+    exit 1
+fi
+PYTHON_VERSION="${VERSION:0:3}"
+
+# --enable-shared   : enable building shared python library
+# --with-threads    : enable thread support
+# --without-pymalloc: disable specialized mallocs
+# --with-ensurepip  : installation using bundled pip
+# --enable-optimizations:  recommandé et utilisé par Nijni -> mais trop long!
+# spns #30153 :  pymalloc on demand
+CONFIGURE_ARGUMENTS="--enable-shared --with-threads --with-ensurepip=install --with-ssl --enable-loadable-sqlite-extensions"
+if [ "${SAT_ENABLE_PYTHON_PYMALLOC}" == "1" ]; then
+    CONFIGURE_ARGUMENTS+=" --with-pymalloc"
+else
+    CONFIGURE_ARGUMENTS+=" --without-pymalloc"
+fi
+
+echo
+echo   "*** configure --prefix=$PRODUCT_INSTALL $CONFIGURE_ARGUMENTS"
+$SOURCE_DIR/configure --prefix=$PRODUCT_INSTALL $CONFIGURE_ARGUMENTS
+if [ $? -ne 0 ]
+then
+    echo "ERROR on configure"
+    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
+
+cd ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}*
+
+if [ ! -e libpython${PYTHON_VERSION}.so ]
+then
+    echo
+    echo "*** create missing link"
+    ln -sf ../../libpython${PYTHON_VERSION}.so .
+    if [ $? -ne 0 ]
+    then
+        echo "ERROR when creating missing link"
+        # no error here
+    fi
+fi
+cd ${PRODUCT_INSTALL}/bin
+ln -s python3 python
+ln -s pip3 pip
+#
+if [ "${SAT_ENABLE_PYTHON_PYMALLOC}" == "1" ]; then
+    cd ${PRODUCT_INSTALL}/include
+    if [ ! -d python3.6 ]; then
+       ln -s python3.6m python3.6
+    fi
+fi
+
+# fix the path... 
+L="2to3  2to3-3.6 easy_install-3.6 idle3 idle3.6 pip3 pip3.6 pydoc3 pydoc3.6 pyvenv pyvenv-3.6"
+cd ${PRODUCT_INSTALL}/bin
+for f in  $L; do
+    awk '$0 = NR==1 ? replace : $0' replace="#!/usr/bin/env python3" $f > $f.t && mv $f.t $f && chmod 755 $f
+done
+
+echo
+echo "########## END"
+
diff --git a/products/compil_scripts/Python-3.9.14.sh b/products/compil_scripts/Python-3.9.14.sh
new file mode 100755 (executable)
index 0000000..19f0ad8
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/bash
+
+echo "##########################################################################"
+echo "Python" $VERSION
+echo "##########################################################################"
+
+if [ ${#VERSION} -lt 5 ]
+then
+    echo "ERROR : VERSION argument of Python compilation script has not the expected x.y.z format"
+    exit 1
+fi
+PYTHON_VERSION="${VERSION:0:3}"
+
+# --enable-shared   : enable building shared python library
+# --with-threads    : enable thread support
+# --without-pymalloc: disable specialized mallocs
+# --with-ensurepip  : installation using bundled pip
+# --enable-optimizations:  recommandé et utilisé par Nijni -> mais trop long!
+# spns #30153 :  pymalloc on demand
+CONFIGURE_ARGUMENTS="--enable-shared --with-threads --with-ensurepip=install --with-ssl --enable-loadable-sqlite-extensions"
+if [ "${SAT_ENABLE_PYTHON_PYMALLOC}" == "1" ]; then
+    CONFIGURE_ARGUMENTS+=" --with-pymalloc"
+else
+    CONFIGURE_ARGUMENTS+=" --without-pymalloc"
+fi
+
+echo
+echo   "*** configure --prefix=$PRODUCT_INSTALL $CONFIGURE_ARGUMENTS"
+$SOURCE_DIR/configure --prefix=$PRODUCT_INSTALL $CONFIGURE_ARGUMENTS
+if [ $? -ne 0 ]
+then
+    echo "ERROR on configure"
+    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
+
+cd ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}*
+
+if [ ! -e libpython${PYTHON_VERSION}.so ]
+then
+    echo
+    echo "*** create missing link"
+    ln -sf ../../libpython${PYTHON_VERSION}.so .
+    if [ $? -ne 0 ]
+    then
+        echo "ERROR when creating missing link"
+        # no error here
+    fi
+fi
+cd ${PRODUCT_INSTALL}/bin
+ln -s python3 python
+ln -s pip3 pip
+#
+if [ "${SAT_ENABLE_PYTHON_PYMALLOC}" == "1" ]; then
+    cd ${PRODUCT_INSTALL}/include
+    if [ ! -d python3.9 ]; then
+       ln -s python3.9m python3.9
+    fi
+fi
+
+# fix the path... 
+L="2to3  2to3-3.9 easy_install-3.9 idle3 idle3.9 pip3 pip3.9 pydoc3 pydoc3.9 pyvenv pyvenv-3.9"
+cd ${PRODUCT_INSTALL}/bin
+for f in  $L; do
+    awk '$0 = NR==1 ? replace : $0' replace="#!/usr/bin/env python3" $f > $f.t && mv $f.t $f && chmod 755 $f
+done
+
+echo
+echo "########## END"
+
diff --git a/products/compil_scripts/openturns-1.19.sh b/products/compil_scripts/openturns-1.19.sh
new file mode 100755 (executable)
index 0000000..9a8d4ac
--- /dev/null
@@ -0,0 +1,397 @@
+#!/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)
+       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
+
+mkdir -p $BUILD_DIR/openturns
+mkdir -p  $BUILD_DIR/cache/pip
+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}/lib64" ]
+then
+    mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib
+    rmdir ${PRODUCT_INSTALL}/lib64
+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" ] &&  [ "$DIST_NAME$DIST_VERSION" == "FD32" ]; then
+            CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
+            CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed.
+        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/pypy/dist-packages/setuptools/site-patch.py
+                ;;
+           FD32)
+                SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py
+                ;;
+           FD36)
+                ###SITE_PATCH=
+                SITE_PATCH=$SOURCE_DIR/addons/site-patch.py
+                ;;
+           FD34)
+                ###SITE_PATCH=
+                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.
+if [[ ! -f libOT.so.0 ]]; then
+    echo "INFO: Fixing libOT.so"
+    ln -sf libOT.so.0.19.0 libOT.so.0.19
+    ln -sf libOT.so.0.19 libOT.so.0
+    ln -sf libOT.so.0 libOT.so
+fi
+
+echo
+echo "########## END"
diff --git a/products/compil_scripts/tbb-2019_U8.bat b/products/compil_scripts/tbb-2019_U8.bat
new file mode 100644 (file)
index 0000000..57bd70d
--- /dev/null
@@ -0,0 +1,63 @@
+@echo off
+
+echo ##########################################################################
+echo Threading Building Blocks %VERSION%
+echo ##########################################################################
+
+if exist "%BUILD_DIR%" rmdir /Q /S "%BUILD_DIR%"
+mkdir %BUILD_DIR%
+
+SET MSBUILDDISABLENODEREUSE=1
+cd %SOURCE_DIR%
+xcopy * %BUILD_DIR% /E /I /Q
+if NOT %ERRORLEVEL% == 0 (
+    echo ERROR on xcopy
+    exit 1
+)
+
+if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL%
+
+if NOT defined CYGWIN_ROOT_DIR (
+  echo ERROR: Please set the environment variable: CYGWIN_ROOT_DIR
+  exit 1
+) else (
+  echo INFO: Cygwin suite environment variable is set to: %CYGWIN_ROOT_DIR%
+)
+
+cd %BUILD_DIR%
+
+REM pay attention to ROBOCOY 1: One or more files were copied successfully (that is, new files have arrived)
+robocopy %BUILD_DIR%\build\vs2013 %BUILD_DIR%\build\vs2017  /E /NP /NFL /NDL /NS /NC
+if NOT %ERRORLEVEL% == 1 (
+    echo ERROR when renaming subfolder %BUILD_DIR%\build\vs2013
+    exit 2
+)
+
+echo.
+echo --------------------------------------------------------------------------
+echo *** start compilation
+echo --------------------------------------------------------------------------
+REM Upgrade to current version of MSVC
+echo.
+echo *** devenv %BUILD_DIR%\build\vs2017\makefile.sln /upgrade
+devenv %BUILD_DIR%\build\vs2017\makefile.sln /upgrade
+if NOT %ERRORLEVEL% == 0 (
+    echo ERROR on devenv
+    exit 3
+)
+REM remove the residual file named nul which is a reserved field for Windows...
+set PATH=%PATH%;%CYGWIN_ROOT_DIR%\bin
+
+%PYTHON_ROOT_DIR%\python.exe %SOURCE_DIR:\=/%/build/build.py --install --install-python --vs=2017 --msbuild --prefix=%PRODUCT_INSTALL:\=/%
+if NOT %ERRORLEVEL% == 0 (
+    echo ERROR on %PYTHON_ROOT_DIR%\python.exe %SOURCE_DIR:\=/%/build/build.py
+    exit 4
+)
+
+REM remove the residual file named nul which is a reserved field for Windows...
+mv %BUILD_DIR%\src\nul %BUILD_DIR%\src\null.txt
+
+taskkill /F /IM "mspdbsrv.exe"
+
+echo.
+echo ########## END
diff --git a/products/compil_scripts/tbb-2019_U8.sh b/products/compil_scripts/tbb-2019_U8.sh
new file mode 100755 (executable)
index 0000000..a6f0214
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+echo "##########################################################################"
+echo "tbb" $VERSION
+echo "##########################################################################"
+
+rm -rf $BUILD_DIR
+mkdir -p $BUILD_DIR
+cd $BUILD_DIR
+cp -r $SOURCE_DIR/* .
+chmod +x $BUILD_DIR/build/build.py
+echo **** $PYTHON_BIN $BUILD_DIR/build/build.py --install --install-python --prefix=$PRODUCT_INSTALL
+$PYTHON_BIN $BUILD_DIR/build/build.py --install --install-python --prefix=$PRODUCT_INSTALL
+if [ $? -ne 0 ]
+then
+    echo "ERROR on make"
+    exit 1
+fi
+echo
+echo "########## END"
index 370ed39c85a112b4a34483c31469e7ffb2bc0386..36d5f6e88860001eda2078dc3f54a8ce350d5959 100644 (file)
@@ -35,6 +35,14 @@ default_win :
     opt_depend : []
 }
 
+version_1_19 :
+{
+    compil_script :  "openturns-1.19" + $VARS.scriptExtension
+    patches : ['openturns-1.19.0001.patch']
+    depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI']
+    opt_depend : ['pandas', 'statsmodels']
+}
+
 version_1_18 :
 {
     compil_script :  "openturns-1.18" + $VARS.scriptExtension
diff --git a/products/patches/openturns-1.19.0001.patch b/products/patches/openturns-1.19.0001.patch
new file mode 100644 (file)
index 0000000..67eea6d
--- /dev/null
@@ -0,0 +1,240 @@
+diff -Naur openturns-1.19_ref/openturns-1.19/CMakeLists.txt openturns-1.19_new/openturns-1.19/CMakeLists.txt
+--- openturns-1.19_ref/openturns-1.19/CMakeLists.txt   2022-09-19 20:42:54.651892829 +0200
++++ openturns-1.19_new/openturns-1.19/CMakeLists.txt   2022-09-19 20:50:32.780078679 +0200
+@@ -140,6 +140,10 @@
+ set (CMAKE_CXX_STANDARD 11)
++SET(LAPACK_ROOT_DIR $ENV{LAPACK_ROOT_DIR})
++IF(LAPACK_ROOT_DIR)
++  LIST(APPEND CMAKE_PREFIX_PATH "${LAPACK_ROOT_DIR}")
++ENDIF(LAPACK_ROOT_DIR)
+ if (NOT DEFINED LAPACK_LIBRARIES)
+   find_package (LAPACK REQUIRED)
+   if (LAPACK_FOUND)
+@@ -148,6 +152,10 @@
+ endif ()
+ list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${LAPACK_LIBRARIES})
++IF (DEFINED CBLAS_LIBRARIES)
++  MESSAGE(STATUS "CBLAS_LIBRARIES is defined... adding to the list of libraries ${CBLAS_LIBRARIES}")
++  LIST (APPEND OPENTURNS_PRIVATE_LIBRARIES ${CBLAS_LIBRARIES})
++ENDIF()
+ if (USE_SPECTRA)
+   find_package (Spectra 1.0 CONFIG)
+ endif ()
+@@ -192,7 +200,11 @@
+ endif ()
+ if (USE_TBB)
+-  find_package (TBB CONFIG)
++  SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
++  if(TBB_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${TBB_ROOT_DIR}")
++  endif(TBB_ROOT_DIR)
++  find_package (TBB CONFIG)
+   if (TBB_FOUND)
+     message (STATUS "Found TBB: ${TBB_DIR} (found version ${TBB_VERSION})")
+     set (TBB_LIBRARIES TBB::tbb)
+@@ -243,6 +255,10 @@
+ endif ()
+ if (USE_LIBXML2)
++  SET(LIBXML2_ROOT_DIR $ENV{LIBXLM2_ROOT_DIR})
++  if(LIBXML2_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${LIBXML2_ROOT_DIR}")
++  endif(LIBXML2_ROOT_DIR)
+   find_package (LibXml2)
+ endif ()
+ if (LIBXML2_FOUND)
+@@ -252,7 +268,19 @@
+   list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${LIBXML2_LIBRARIES})
+ endif ()
++SET(MPI_ROOT_DIR $ENV{MPI_ROOT_DIR} CACHE PATH "Path to the MPI.")
++IF(MPI_ROOT_DIR)
++ LIST(APPEND CMAKE_PREFIX_PATH "${MPI_ROOT_DIR}")
++ find_package(MPI)
++ list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${MPI_INCLUDE_DIRS})
++ list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${MPI_LIBRARIES})
++ENDIF(MPI_ROOT_DIR)
++
+ if (USE_HDF5)
++  SET(HDF5_ROOT_DIR $ENV{HDF5_ROOT_DIR} CACHE PATH "Path to the HDF5.")
++  IF(HDF5_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${HDF5_ROOT_DIR}")
++  ENDIF(HDF5_ROOT_DIR)
+   find_package(HDF5 COMPONENTS C CXX)
+ endif ()
+ if (HDF5_FOUND)
+@@ -273,6 +301,10 @@
+ endif ()
+ if (USE_BOOST)
++  SET(BOOST_ROOT_DIR $ENV{BOOST_ROOT_DIR} CACHE PATH "Path to the BOOST.")
++  IF(BOOST_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${BOOST_ROOT_DIR}")
++  ENDIF(BOOST_ROOT_DIR)
+   find_package (Boost 1.46)
+   if (Boost_FOUND)
+     if (CMAKE_VERSION VERSION_LESS 3.15)
+@@ -308,7 +340,11 @@
+ endif ()
+ if (USE_NLOPT)
+-  find_package (NLopt CONFIG QUIET)
++  SET(NLOPT_ROOT_DIR $ENV{NLOPT_ROOT_DIR} CACHE PATH "Path to the NLOPT.")
++  IF(NLOPT_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}")
++  ENDIF(NLOPT_ROOT_DIR)
++  find_package (NLopt)
+   if (NLopt_FOUND)
+     message(STATUS "Found NLopt: ${NLopt_DIR}  (found version \"${NLopt_VERSION}\")")
+   else ()
+@@ -372,22 +408,22 @@
+ endif ()
+ if (USE_CMINPACK)
+-  find_package (CMinpack CONFIG QUIET)
+-  if (CMinpack_FOUND)
+-    if (TARGET cminpack::cminpack)
+-      message (STATUS "Found CMinpack: ${CMinpack_DIR}")
+-      set (CMINPACK_LIBRARIES cminpack::cminpack)
+-    endif ()
+-  else ()
+-    # fallback to our macro if CMinpackConfig is not provided
+-    find_package (CMinpack)
+-    set (CMinpack_FOUND ${CMINPACK_FOUND})
+-  endif ()
+-  if (CMinpack_FOUND)
+-    set (OPENTURNS_HAVE_CMINPACK TRUE)
+-    list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${CMINPACK_INCLUDE_DIRS})
+-    list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${CMINPACK_LIBRARIES})
+-  endif ()
++  SET(CMINPACK_ROOT_DIR $ENV{CMINPACK_ROOT_DIR} CACHE PATH "Path to the CMINPACK.")
++  IF(CMINPACK_ROOT_DIR)
++    LIST(APPEND CMAKE_PREFIX_PATH "${CMINPACK_ROOT_DIR}")
++  ENDIF(CMINPACK_ROOT_DIR)
++  find_package (CMinpack)
++  set (CMinpack_FOUND ${CMINPACK_FOUND})
++endif ()
++if (CMinpack_FOUND)
++  MESSAGE(STATUS "Found CMkinpack ...")
++  MESSAGE(STATUS "      CMINPACK_LIBRARIES is set to: ${CMINPACK_LIBRARIES}")
++  set (OPENTURNS_HAVE_CMINPACK TRUE)
++  list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${CMINPACK_INCLUDE_DIRS})
++  list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${CMINPACK_LIBRARIES})
++else()
++  MESSAGE(STATUS "Could not find MinPack dependency")
++  set (OPENTURNS_HAVE_CMINPACK FALSE)
+ endif ()
+ if (USE_BONMIN)
+diff -Naur openturns-1.19_ref/openturns-1.19/cmake/FindCMinpack.cmake openturns-1.19_new/openturns-1.19/cmake/FindCMinpack.cmake
+--- openturns-1.19_ref/openturns-1.19/cmake/FindCMinpack.cmake 2022-09-19 20:42:54.983898861 +0200
++++ openturns-1.19_new/openturns-1.19/cmake/FindCMinpack.cmake 2022-09-19 20:53:05.646768854 +0200
+@@ -22,12 +22,18 @@
+ # (To distributed this file outside of CMake, substitute the full
+ #  License text for the above reference.)
++SET(CMINPACK_ROOT_DIR $ENV{CMINPACK_ROOT_DIR})
++if(CMINPACK_ROOT_DIR)
++ LIST(APPEND CMAKE_PREFIX_PATH "${CMINPACK_ROOT_DIR}")
++endif(CMINPACK_ROOT_DIR)
+ find_path (CMINPACK_INCLUDE_DIR cminpack.h
+   PATH_SUFFIXES cminpack cminpack-1
+ )
+ find_library (CMINPACK_LIBRARY
+   NAMES cminpack cminpack_s
++  HINTS ${CMINPACK_ROOT_DIR}/include
++  DOC   "CMINPACK include directory"
+ )
+ set (CMINPACK_LIBRARIES ${CMINPACK_LIBRARY})
+diff -Naur openturns-1.19_ref/openturns-1.19/cmake/FindNLopt.cmake openturns-1.19_new/openturns-1.19/cmake/FindNLopt.cmake
+--- openturns-1.19_ref/openturns-1.19/cmake/FindNLopt.cmake    2022-09-19 20:42:54.947898206 +0200
++++ openturns-1.19_new/openturns-1.19/cmake/FindNLopt.cmake    2022-09-19 20:58:34.988527189 +0200
+@@ -11,10 +11,20 @@
+ #  NLOPT_ROOT_DIR - root dir (ex. /usr/local)
+ # set NLOPT_INCLUDE_DIR
++SET(NLOPT_ROOT_DIR $ENV{NLOPT_ROOT_DIR})
++
++IF(NLOPT_ROOT_DIR)
++  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}")
++  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}/include")
++  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}/lib")
++ELSE(NLOPT_ROOT_DIR)
++  MESSAGE(FATAL_ERROR "PLEASE SET ENVIRONMENT VARIABLE NLOPT_ROOT_DIR")
++ENDIF(NLOPT_ROOT_DIR)
+ find_path (NLOPT_INCLUDE_DIR
+   NAMES nlopt.hpp
+   DOC
+     "Nlopt include directory"
++  HINTS ${NLOPT_ROOT_DIR}/include
+ )
+ # set NLOPT_INCLUDE_DIRS
+@@ -22,7 +32,8 @@
+ # set NLOPT_LIBRARY
+ find_library (NLOPT_LIBRARY
+-  NAMES nlopt_cxx nlopt
++  NAMES nlopt
++  HINTS ${NLOPT_ROOT_DIR}/lib 
+   DOC
+     "Nlopt library location"
+ )
+diff -Naur openturns-1.19_ref/openturns-1.19/cmake/FindTBB.cmake openturns-1.19_new/openturns-1.19/cmake/FindTBB.cmake
+--- openturns-1.19_ref/openturns-1.19/cmake/FindTBB.cmake      2022-09-19 20:42:54.943898134 +0200
++++ openturns-1.19_new/openturns-1.19/cmake/FindTBB.cmake      2022-09-19 20:59:43.185715121 +0200
+@@ -27,6 +27,10 @@
+ # (To distributed this file outside of CMake, substitute the full
+ #  License text for the above reference.)
++SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
++IF(TBB_ROOT_DIR)
++  LIST(APPEND CMAKE_PREFIX_PATH "${TBB_ROOT_DIR}")
++ENDIF(TBB_ROOT_DIR)
+ find_path (TBB_INCLUDE_DIR NAMES tbb/tbb.h DOC "TBB include directory")
+ set (TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
+diff -Naur openturns-1.19_ref/openturns-1.19/lib/src/CMakeLists.txt  openturns-1.19_new/openturns-1.19/lib/src/CMakeLists.txt 
+--- openturns-1.19_ref/openturns-1.19/lib/src/CMakeLists.txt   2022-09-19 20:43:02.736039628 +0200
++++ openturns-1.19_new/openturns-1.19/lib/src/CMakeLists.txt   2022-09-19 21:14:17.908888927 +0200
+@@ -127,5 +127,5 @@
+ if (UNIX AND BUILD_SHARED_LIBS)
+   set (OT_GDB_PY ${CMAKE_SHARED_LIBRARY_PREFIX}OT${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIB_VERSION}-gdb.py)
+   execute_process (COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/libOT-gdb.py ${CMAKE_CURRENT_BINARY_DIR}/${OT_GDB_PY})
+-  install (FILES libOT-gdb.py DESTINATION ${OPENTURNS_DATA_PATH}/gdb/auto-load/${LIBRARY_PATH} RENAME ${OT_GDB_PY})
++  install (FILES libOT-gdb.py DESTINATION ${OPENTURNS_DATA_PATH}/gdb/auto-load RENAME ${OT_GDB_PY})
+ endif ()
+diff -Naur openturns-1.19_ref/openturns-1.19/lib/src/Base/Common/openturns/TBBImplementation.hxx openturns-1.19_new/openturns-1.19/lib/src/Base/Common/openturns/TBBImplementation.hxx
+--- openturns-1.19_ref/openturns-1.19/lib/src/Base/Common/openturns/TBBImplementation.hxx      2022-09-19 20:43:07.228121152 +0200
++++ openturns-1.19_new/openturns-1.19/lib/src/Base/Common/openturns/TBBImplementation.hxx      2022-09-19 21:16:38.747275561 +0200
+@@ -35,6 +35,7 @@
+ #  define __TBBMALLOC_NO_IMPLICIT_LINKAGE 1
+ # endif
+ #endif
++#define TBB_PREVIEW_TASK_ARENA 1
+ #include <tbb/task_arena.h>
+ #include <tbb/parallel_sort.h>
+ #include <tbb/parallel_reduce.h>
+diff -Naur openturns-1.19_ref/openturns-1.19/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx openturns-1.19_new/openturns-1.19/lib/src//Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx
+--- openturns-1.19_ref/openturns-1.19/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx     2022-09-19 20:43:04.604073534 +0200
++++ openturns-1.19_new/openturns-1.19/lib/src//Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx    2022-09-19 21:22:20.888944236 +0200
+@@ -24,6 +24,13 @@
+ #include "openturns/PersistentObject.hxx"
+ #include "openturns/CovarianceModel.hxx"
+ #include "openturns/KarhunenLoeveResult.hxx"
++#ifdef __GNUC__
++#  include <features.h>
++#  if __GNUC_PREREQ(11,0)
++#     include <limits>
++#  endif
++#endif // __GNUC__
++
+ BEGIN_NAMESPACE_OPENTURNS
index 4181c5cbf4e3e9389b7f61a6b6d07bbb84da206c..e7f3506e65c60289c96aaff5ec8f04acb94e6eee 100644 (file)
@@ -28,12 +28,25 @@ default :
     }
 }
 
+version_2019_U8 :
+{
+    compil_script :  "tbb-2019_U8.sh"
+    archive_info : {archive_name : "tbb-2019_U8.tar.gz"}
+    depend : ['Python', 'llvm']
+    opt_depend : ['ispc']
+    build_depend : ['swig', "cmake"]
+    properties :
+    {
+      incremental : "yes"
+      single_install_dir : "no"
+    }
+}
+
 version_2019_U8_win :
 {
     archive_info : {archive_name : "tbb-2019_U8.tar.gz"}
     patches : ['tbb-2019_U8_windows10.patch']
     depend : ['Python']
-    opt_depend : ['ispc']
     build_depend : ['swig']
     properties :
     {