From: Nabil Ghodbane Date: Wed, 21 Sep 2022 10:28:46 +0000 (+0200) Subject: spns #32239 - openturns 1.19 X-Git-Tag: V9_11_0~320 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=75b811981097a295ab496dbf8211a01ee9bd67d7;p=tools%2Fsat_salome.git spns #32239 - openturns 1.19 --- diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index 64c9663..3ec1a42 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -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' diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index 1c03938..b99217e 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -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' diff --git a/products/Python.pyconf b/products/Python.pyconf index d14395a..016d3aa 100755 --- a/products/Python.pyconf +++ b/products/Python.pyconf @@ -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 index 0000000..c2690d9 --- /dev/null +++ b/products/compil_scripts/Python-3.6.15.sh @@ -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 index 0000000..19f0ad8 --- /dev/null +++ b/products/compil_scripts/Python-3.9.14.sh @@ -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 index 0000000..9a8d4ac --- /dev/null +++ b/products/compil_scripts/openturns-1.19.sh @@ -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 index 0000000..57bd70d --- /dev/null +++ b/products/compil_scripts/tbb-2019_U8.bat @@ -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 index 0000000..a6f0214 --- /dev/null +++ b/products/compil_scripts/tbb-2019_U8.sh @@ -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" diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 370ed39..36d5f6e 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -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 index 0000000..67eea6d --- /dev/null +++ b/products/patches/openturns-1.19.0001.patch @@ -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 + #include + #include +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 ++# if __GNUC_PREREQ(11,0) ++# include ++# endif ++#endif // __GNUC__ ++ + + BEGIN_NAMESPACE_OPENTURNS + diff --git a/products/tbb.pyconf b/products/tbb.pyconf index 4181c5c..e7f3506 100644 --- a/products/tbb.pyconf +++ b/products/tbb.pyconf @@ -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 : {