From: Nabil Ghodbane Date: Tue, 21 Sep 2021 12:16:02 +0000 (+0200) Subject: openTURNS final patches before merging to master X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=85a751a6f21057f90fd080040e2e16a4bf65f71b;p=tools%2Fsat_salome.git openTURNS final patches before merging to master --- diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index 3e58f30..210c3c7 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -72,7 +72,7 @@ APPLICATION : omniORB : '4.2.2' omniORBpy : '4.2.2' opencv : '3.2.0' - openturns: '1.16' + openturns: '1.17' openVKL: '0.11.0' ospray : '2.4.0' packaging : '17.1' diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index 70f4d37..802afaf 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -19,7 +19,7 @@ default : 'cgns', 'Pygments' ] - opt_depend : ['openmpi', 'ospray','tbb'] + opt_depend : ['openmpi', 'ospray','tbb', 'openturns'] build_depend : ["cmake"] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name diff --git a/products/cminpack.pyconf b/products/cminpack.pyconf index 2fbca76..c0344db 100644 --- a/products/cminpack.pyconf +++ b/products/cminpack.pyconf @@ -2,7 +2,7 @@ default : { name : "cminpack" build_source : "cmake" - cmake_options : " -DUSE_BLAS=ON -DUSE_FPIC=ON -DBUILD_SHARED_LIBS=ON" + cmake_options : " -DUSE_BLAS=ON -DUSE_FPIC=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_LIBDIR:STRING=lib " compil_script : $name + $VARS.scriptExtension get_source : "archive" environ : @@ -25,5 +25,7 @@ default : version_1_3_6 : { + build_source : "script" + compil_script: 'cminpack-1.3.6.sh' patches : ['cminpack-1.3.6-cblas.patch'] } \ No newline at end of file diff --git a/products/compil_scripts/ParaView-5.9.0.sh b/products/compil_scripts/ParaView-5.9.0.sh index 2138955..07a48f3 100755 --- a/products/compil_scripts/ParaView-5.9.0.sh +++ b/products/compil_scripts/ParaView-5.9.0.sh @@ -157,7 +157,11 @@ CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON" CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5" CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF" CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR}" - +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_hl_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_hdf5_CXX_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_cxx.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so" +CMAKE_OPTIONS="${CMAKE_OPTIONS} -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include" ### CGNS CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_MODULE_USE_EXTERNAL_ParaView_cgns:BOOL=ON" if [ "$CGNS_ROOT_DIR" != "/usr" ] @@ -213,12 +217,19 @@ CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_PLUGIN_ENABLE_pvblot:BOOL=OFF" CMAKE_OPTIONS="${CMAKE_OPTIONS} -DVTK_ALL_NEW_OBJECT_FACTORY:BOOL=ON" # Openturns: -if [-n "$OPENTURNS_ROOT_DIR" ] -then - echo "INFO: Adding OpenTurns support..." - CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_OPENTURNS=ON" - CMAKE_OPTIONS="${CMAKE_OPTIONS} -DOpenTURNS_DIR=$OPENTURNS_ROOT_DIR/cmake/openturns" +if [ -n "$OPENTURNS_VERSION" ]; then + function version_ge() { test "$(echo "$@" | tr " " "\n" | sort -rV | head -n 1)" == "$1"; } + if version_ge $OPENTURNS_VERSION "1.17" ; then + echo "INFO: Adding OpenTURNS version ${OPENTURNS_VERSION} support..." + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DPARAVIEW_ENABLE_OPENTURNS=ON" + CMAKE_OPTIONS="${CMAKE_OPTIONS} -DOpenTURNS_DIR=$OPENTURNS_ROOT_DIR/lib/cmake/openturns" + else + echo "WARNING: OpenTURNS ${OPENTURNS_VERSON} is not supported with current ParaView build..." + fi +else + echo "WARNING: No OpenTURNS environment variable is found..." fi + echo echo "*** cmake" ${CMAKE_OPTIONS} cmake ${CMAKE_OPTIONS} $SOURCE_DIR diff --git a/products/compil_scripts/cminpack-1.3.6.sh b/products/compil_scripts/cminpack-1.3.6.sh new file mode 100755 index 0000000..773de2f --- /dev/null +++ b/products/compil_scripts/cminpack-1.3.6.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +echo "##########################################################################" +echo "Cminpack " $VERSION +echo "##########################################################################" + +if [ -n "$MPI_ROOT_DIR" ] +then + echo "WARNING: setting CC and CXX environment variables and target MPI wrapper" + export CC=${MPI_ROOT_DIR}/bin/mpicc + export CXX=${MPI_ROOT_DIR}/bin/mpicxx +fi + +CMAKE_OPTIONS="" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS+=" -DUSE_BLAS=ON" +CMAKE_OPTIONS+=" -DUSE_FPIC=ON" +CMAKE_OPTIONS+=" -DBUILD_EXAMPLES=OFF" +###CMAKE_OPTIONS+=" -DBUILD_SHARED_LIBS=ON" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib" + +echo +echo "*** cmake" $CMAKE_OPTIONS +cmake $CMAKE_OPTIONS $SOURCE_DIR +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 + echo "WARNING: renaming lib64 to lib..." + mv ${PRODUCT_INSTALL}/lib64 ${PRODUCT_INSTALL}/lib +fi + +echo +echo "########## END" diff --git a/products/compil_scripts/openturns-1.16.sh b/products/compil_scripts/openturns-1.16.sh index 65e81fb..927bcc9 100755 --- a/products/compil_scripts/openturns-1.16.sh +++ b/products/compil_scripts/openturns-1.16.sh @@ -4,8 +4,6 @@ echo "########################################################################## echo "openturns" $VERSION echo "##########################################################################" -COPY_OPENTURNS=0 - if [ -n "$MPI_ROOT_DIR" ] then echo "WARNING: setting CC and CXX environment variables and target MPI wrapper" @@ -13,147 +11,37 @@ then export CXX=${MPI_ROOT_DIR}/bin/mpicxx fi -if [ $COPY_OPENTURNS -ne 1 ]; then - CMAKE_OPTIONS="" - CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" - CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" - CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}" - CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig" - - echo - echo "*** cmake" $CMAKE_OPTIONS - cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.16 - 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.16/python/test/t_features.py - ${SOURCE_DIR}/openturns-1.16/python/test/t_features.py - if [ $? -ne 0 ] - then - echo "ERROR testing Openturns features...." - exit 4 - fi -else - mkdir -p $PRODUCT_INSTALL - cp -r /volatile/salome/support/SPNS-24377/SALOME-master-CO7/INSTALL/openturns-1.16/* $PRODUCT_INSTALL/ -fi -exit 0 - CMAKE_OPTIONS="" CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}" CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig" -CMAKE_OPTIONS+=" -DTBB_ROOT_DIR=${TBB_ROOT_DIR}" -LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH} -if [[ -d "$SOURCE_DIR/otfftw-0.10" ]]; then - CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1" - CMAKE_OPTIONS+=" -DCMINPACK_LIBRARIES=${CMINPACK_ROOT_DIR}/lib64" - CMAKE_OPTIONS+=" -DCMINPACK_LIBRARY=${CMINPACK_ROOT_DIR}/lib64/libcminpack_s.a" - CMAKE_OPTIONS+=" -DHDF5_ROOT=${HDF5_ROOT_DIR}" +echo +echo "*** cmake" $CMAKE_OPTIONS +cmake $CMAKE_OPTIONS $SOURCE_DIR +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi - declare -A OTC - OTC["otagrum"]="0.3" - OTC["otfftw"]="0.10" - OTC["otmixmod"]="0.11" - OTC["otmorris"]="0.9" - OTC["otpmml"]="1.10" - OTC["otrobopt"]="0.8" - OTC["otsubsetinverse"]="1.7" - OTC["otsvm"]="0.9" +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi - for k in ${!OTC[@]}; - do - cd $BUILD_DIR - mkdir ${BUILD_DIR}/$k - cd ${BUILD_DIR}/$k - echo - echo "*** C O M P O N E N T : $SOURCE_DIR/$k-${OTC[$k]} " - CMAKE_EXTRA_OPTIONS= - 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" - fi - if [[ $k == "otmixmod" ]]; then - LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${BUILD_DIR}/$k/lib/src - else - LD_LIBRARY_PATH=${LD_LIBRARY_PATH_REF} - 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.7" - OTP["otpod"]="0.6.6" - OTP["otwrapy"]="0.9" - for k in ${!OTP[@]}; - do - cd $BUILD_DIR - mkdir ${BUILD_DIR}/$k - cd ${BUILD_DIR}/$k - ${PYTHONBIN} setup.py install --prefix==${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages - done +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 fi echo @@ -167,8 +55,8 @@ 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.16/python/test/t_features.py -${SOURCE_DIR}/openturns-1.16/python/test/t_features.py +chmod +x ${SOURCE_DIR}/python/test/t_features.py +${SOURCE_DIR}/python/test/t_features.py if [ $? -ne 0 ] then echo "ERROR testing Openturns features...." diff --git a/products/compil_scripts/openturns-1.17.sh b/products/compil_scripts/openturns-1.17.sh new file mode 100755 index 0000000..9d0169a --- /dev/null +++ b/products/compil_scripts/openturns-1.17.sh @@ -0,0 +1,233 @@ +#!/bin/bash + +echo "##########################################################################" +echo "openturns" $VERSION +echo "##########################################################################" + +COPY_OPENTURNS=0 +# we don't install in python directory -> modify environment as described in INSTALL file +mkdir -p $PRODUCT_INSTALL/lib/python${PYTHON_VERSION:0:3}/site-packages +export PATH=$(pwd)/bin:$PATH +export PYTHONPATH=$(pwd):$PYTHONPATH +export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION:0:3}/site-packages:$PYTHONPATH + +if [ -n "$MPI_ROOT_DIR" ] +then + echo "WARNING: setting CC and CXX environment variables and target MPI wrapper" + export CC=${MPI_ROOT_DIR}/bin/mpicc + export CXX=${MPI_ROOT_DIR}/bin/mpicxx +fi + +CMAKE_OPTIONS="" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}" +CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig" +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" +# CMINPACK +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" +# Blas/Lapack +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" + +### libxml2 settings +if [ -n "$LIBXML2_ROOT_DIR" ] +then + # with a native libxml2, do not use these options + if [ "${LIBXML2_ROOT_DIR}" != "/usr" ] + 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 +fi + +echo +echo "*** cmake" $CMAKE_OPTIONS +mkdir -p $BUILD_DIR/openturns +cd $BUILD_DIR/openturns +cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.17 +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.17/python/test/t_features.py +${SOURCE_DIR}/openturns-1.17/python/test/t_features.py +if [ $? -ne 0 ] +then + echo "ERROR testing Openturns features...." + exit 4 +fi + +CMAKE_OPTIONS="" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}" +CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" +CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}" +CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig" +CMAKE_OPTIONS+=" -DTBB_ROOT_DIR=${TBB_ROOT_DIR}" +### HDF5 settings +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_hdf5_CXX_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_cxx.so" +CMAKE_OPTIONS+=" -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so" +CMAKE_OPTIONS+=" -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include" +# CMINPACK +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" +# Blas/Lapack +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" +### libxml2 settings +if [ -n "$LIBXML2_ROOT_DIR" ] +then + # with a native libxml2, do not use these options + if [ "${LIBXML2_ROOT_DIR}" != "/usr" ] + 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 +fi + +LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH} +if [[ -d "$SOURCE_DIR/otfftw-0.11" ]]; then + + declare -A OTC + OTC["otagrum"]="0.4" + OTC["otfftw"]="0.11" + OTC["otmixmod"]="0.12" + OTC["otmorris"]="0.10" + OTC["otpmml"]="1.11" + OTC["otrobopt"]="0.9" + OTC["otsubsetinverse"]="1.8" + OTC["otsvm"]="0.10" + + 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 [[ $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" # needs extra latex modules on CentOS 7 + elif [[ $k == "otpmml" ]]; then + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" # needs extra latex modules on CentOS 7 + 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.11" + #OTP["otpod"]="0.6.7" + OTP["otwrapy"]="0.10" + for k in ${!OTP[@]}; + do + echo + echo "*** C O M P O N E N T : $k-${OTP[$k]} " + 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 +fi + +echo +echo "########## END" diff --git a/products/env_scripts/cminpack.py b/products/env_scripts/cminpack.py index a27bbce..201e8bd 100644 --- a/products/env_scripts/cminpack.py +++ b/products/env_scripts/cminpack.py @@ -3,6 +3,7 @@ import os.path def set_env(env, prereq_dir, version): env.set('CMINPACK_ROOT_DIR', prereq_dir) + env.set('CMINPACK_DIR', os.path.join(prereq_dir,'share','cmake','Cminpack')) env.prepend('PATH', os.path.join(prereq_dir,'bin')) env.prepend('LD_LIBRARY_PATH',os.path.join(prereq_dir, 'lib')) diff --git a/products/env_scripts/openturns.py b/products/env_scripts/openturns.py index 3527208..6a77f3f 100644 --- a/products/env_scripts/openturns.py +++ b/products/env_scripts/openturns.py @@ -3,10 +3,10 @@ import os.path def set_env(env, prereq_dir, version): env.set('OPENTURNS_ROOT_DIR', prereq_dir) + env.set('OPENTURNS_VERSION',version) env.prepend('PATH', os.path.join(prereq_dir,'bin')) env.prepend('LD_LIBRARY_PATH',os.path.join(prereq_dir, 'lib')) pyver = 'python' + env.get('PYTHON_VERSION') env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) - def set_nativ_env(env): pass diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 83cc503..61d9e34 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -38,7 +38,6 @@ default_win : version_1_16 : { compil_script : "openturns-1.16" + $VARS.scriptExtension - archive_info : {archive_name : "openturns-1.16-all.tar.gz"} patches : ['openturns-1.16.0001.patch','openturns-1.16.0002.patch'] } @@ -46,3 +45,15 @@ version_1_16_win : { patches : [] } + +version_1_17 : +{ + compil_script : "openturns-1.17" + $VARS.scriptExtension + patches : ['openturns-1.17.0001.patch'] + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI'] +} + +version_1_17_win : +{ + patches : [] +} diff --git a/products/patches/openturns-1.16.0001.patch b/products/patches/openturns-1.16.0001.patch index 6f866b1..adfba8f 100644 --- a/products/patches/openturns-1.16.0001.patch +++ b/products/patches/openturns-1.16.0001.patch @@ -1,7 +1,7 @@ -diff -Naur openturns_ref/openturns-1.16 openturns_new/openturns-1.16 -diff -Naur openturns_ref/openturns-1.16/cmake/FindNLopt.cmake openturns_new/openturns-1.16/cmake/FindNLopt.cmake ---- openturns_ref/openturns-1.16/cmake/FindNLopt.cmake 2020-11-09 14:06:44.000000000 +0100 -+++ openturns_new/openturns-1.16/cmake/FindNLopt.cmake 2021-06-01 10:23:26.144409150 +0200 +diff -Naur openturns_ref openturns_new +diff -Naur openturns_ref/cmake/FindNLopt.cmake openturns_new/cmake/FindNLopt.cmake +--- openturns_ref/cmake/FindNLopt.cmake 2020-11-09 14:06:44.000000000 +0100 ++++ openturns_new/cmake/FindNLopt.cmake 2021-06-01 10:23:26.144409150 +0200 @@ -11,10 +11,21 @@ # NLOPT_ROOT_DIR - root dir (ex. /usr/local) @@ -38,9 +38,9 @@ diff -Naur openturns_ref/openturns-1.16/cmake/FindNLopt.cmake openturns_new/open ) # set NLOPT_LIBRARIES -diff -Naur openturns_ref/openturns-1.16/cmake/FindTBB.cmake openturns_new/openturns-1.16/cmake/FindTBB.cmake ---- openturns_ref/openturns-1.16/cmake/FindTBB.cmake 2020-11-10 13:21:21.000000000 +0100 -+++ openturns_new/openturns-1.16/cmake/FindTBB.cmake 2021-06-01 10:23:26.144409150 +0200 +diff -Naur openturns_ref/cmake/FindTBB.cmake openturns_new/cmake/FindTBB.cmake +--- openturns_ref/cmake/FindTBB.cmake 2020-11-10 13:21:21.000000000 +0100 ++++ openturns_new/cmake/FindTBB.cmake 2021-06-01 10:23:26.144409150 +0200 @@ -27,6 +27,11 @@ # (To distributed this file outside of CMake, substitute the full # License text for the above reference.) @@ -53,9 +53,9 @@ diff -Naur openturns_ref/openturns-1.16/cmake/FindTBB.cmake openturns_new/opentu find_path (TBB_INCLUDE_DIR NAMES tbb/tbb.h DOC "TBB include directory") set (TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR}) -diff -Naur openturns_ref/openturns-1.16/CMakeLists.txt openturns_new/openturns-1.16/CMakeLists.txt ---- openturns_ref/openturns-1.16/CMakeLists.txt 2020-11-18 16:33:36.000000000 +0100 -+++ openturns_new/openturns-1.16/CMakeLists.txt 2021-06-01 10:26:34.647699757 +0200 +diff -Naur openturns_ref/CMakeLists.txt openturns_new/CMakeLists.txt +--- openturns_ref/CMakeLists.txt 2020-11-18 16:33:36.000000000 +0100 ++++ openturns_new/CMakeLists.txt 2021-06-01 10:26:34.647699757 +0200 @@ -125,6 +125,10 @@ set (TEMPDIR ${OPENTURNS_TEMPDIR}) @@ -129,9 +129,9 @@ diff -Naur openturns_ref/openturns-1.16/CMakeLists.txt openturns_new/openturns-1 if (NLopt_FOUND) message(STATUS "Found NLopt: ${NLopt_DIR}") else () -diff -Naur openturns_ref/openturns-1.16/lib/src/Base/Common/openturns/TBB.hxx openturns_new/openturns-1.16/lib/src/Base/Common/openturns/TBB.hxx ---- openturns_ref/openturns-1.16/lib/src/Base/Common/openturns/TBB.hxx 2020-11-10 13:21:21.000000000 +0100 -+++ openturns_new/openturns-1.16/lib/src/Base/Common/openturns/TBB.hxx 2021-06-01 10:23:26.145409141 +0200 +diff -Naur openturns_ref/lib/src/Base/Common/openturns/TBB.hxx openturns_new/lib/src/Base/Common/openturns/TBB.hxx +--- openturns_ref/lib/src/Base/Common/openturns/TBB.hxx 2020-11-10 13:21:21.000000000 +0100 ++++ openturns_new/lib/src/Base/Common/openturns/TBB.hxx 2021-06-01 10:23:26.145409141 +0200 @@ -35,6 +35,7 @@ # define __TBBMALLOC_NO_IMPLICIT_LINKAGE 1 # endif @@ -140,9 +140,9 @@ diff -Naur openturns_ref/openturns-1.16/lib/src/Base/Common/openturns/TBB.hxx op #include #include #include -diff -Naur openturns_ref/openturns-1.16//lib/src/CMakeLists.txt openturns_new/openturns-1.16//lib/src/CMakeLists.txt ---- openturns_ref/openturns-1.16/lib/src/CMakeLists.txt 2020-11-10 13:21:21.000000000 +0100 -+++ openturns_new/openturns-1.16//lib/src/CMakeLists.txt 2021-06-01 10:23:26.144409150 +0200 +diff -Naur openturns_ref/lib/src/CMakeLists.txt openturns_new/lib/src/CMakeLists.txt +--- openturns_ref/lib/src/CMakeLists.txt 2020-11-10 13:21:21.000000000 +0100 ++++ openturns_new/lib/src/CMakeLists.txt 2021-06-01 10:23:26.144409150 +0200 @@ -80,15 +80,15 @@ add_dependencies (OT generate_csv_parser) endif () diff --git a/products/patches/openturns-1.16.0002.patch b/products/patches/openturns-1.16.0002.patch index e3da06a..4a95719 100644 --- a/products/patches/openturns-1.16.0002.patch +++ b/products/patches/openturns-1.16.0002.patch @@ -1,6 +1,6 @@ -diff -Naur openturns_ref/openturns-1.16/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx openturns_new/openturns-1.16/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx ---- openturns_ref/openturns-1.16/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2020-11-10 13:21:21.000000000 +0100 -+++ openturns_new/openturns-1.16/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2021-05-21 11:08:48.206212694 +0200 +diff -Naur openturns_ref/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx openturns_new/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx +--- openturns_ref/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2020-11-10 13:21:21.000000000 +0100 ++++ openturns_new/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2021-05-21 11:08:48.206212694 +0200 @@ -24,6 +24,12 @@ #include "openturns/PersistentObject.hxx" #include "openturns/CovarianceModel.hxx" diff --git a/products/patches/openturns-1.17.0001.patch b/products/patches/openturns-1.17.0001.patch new file mode 100644 index 0000000..7a5e14f --- /dev/null +++ b/products/patches/openturns-1.17.0001.patch @@ -0,0 +1,241 @@ +diff -Naur openturns-1.17_ref/openturns-1.17/CMakeLists.txt openturns-1.17_new/openturns-1.17/CMakeLists.txt +--- openturns-1.17_ref/openturns-1.17/CMakeLists.txt 2021-09-21 13:28:10.257960906 +0200 ++++ openturns-1.17_new/openturns-1.17/CMakeLists.txt 2021-09-21 13:37:49.975423413 +0200 +@@ -133,6 +133,11 @@ + + 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) +@@ -140,6 +145,10 @@ + endif () + 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) +@@ -164,7 +173,11 @@ + endif () + + if (USE_TBB) +- find_package (TBB) ++ 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) + endif () + if (TBB_FOUND) + set (OPENTURNS_HAVE_TBB_TBB_H TRUE) +@@ -207,6 +220,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) +@@ -216,7 +233,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 CXX) + endif () + if (HDF5_FOUND) +@@ -237,6 +266,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) +@@ -272,6 +305,10 @@ + endif () + + if (USE_NLOPT) ++ 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 CONFIG QUIET) + if (NLopt_FOUND) + message(STATUS "Found NLopt: ${NLopt_DIR}") +@@ -336,22 +373,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.17_ref/openturns-1.17/cmake/FindCMinpack.cmake openturns-1.17_new/openturns-1.17/cmake/FindCMinpack.cmake +--- openturns-1.17_ref/openturns-1.17/cmake/FindCMinpack.cmake 2021-09-21 13:28:10.246960802 +0200 ++++ openturns-1.17_new/openturns-1.17/cmake/FindCMinpack.cmake 2021-09-21 13:27:42.519698634 +0200 +@@ -22,14 +22,19 @@ + # (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}) + set (CMINPACK_INCLUDE_DIRS ${CMINPACK_INCLUDE_DIR}) + +diff -Naur openturns-1.17_ref/openturns-1.17/cmake/FindNLopt.cmake openturns-1.17_new/openturns-1.17/cmake/FindNLopt.cmake +--- openturns-1.17_ref/openturns-1.17/cmake/FindNLopt.cmake 2021-09-21 13:28:10.247960811 +0200 ++++ openturns-1.17_new/openturns-1.17/cmake/FindNLopt.cmake 2021-09-21 13:27:42.520698643 +0200 +@@ -11,8 +11,19 @@ + # 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 ++ HINTS ${NLOPT_ROOT_DIR}/include + DOC + "Nlopt include directory" + ) +@@ -22,7 +33,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.17_ref/openturns-1.17/cmake/FindTBB.cmake openturns-1.17_new/openturns-1.17/cmake/FindTBB.cmake +--- openturns-1.17_ref/openturns-1.17/cmake/FindTBB.cmake 2021-09-21 13:28:10.242960764 +0200 ++++ openturns-1.17_new/openturns-1.17/cmake/FindTBB.cmake 2021-09-21 13:27:42.514698586 +0200 +@@ -27,6 +27,11 @@ + # (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.17_ref/openturns-1.17/lib/src/CMakeLists.txt openturns-1.17_new/openturns-1.17/lib/src/CMakeLists.txt +--- openturns-1.17_ref/openturns-1.17/lib/src/CMakeLists.txt 2021-09-21 13:27:57.412839452 +0200 ++++ openturns-1.17_new/openturns-1.17/lib/src/CMakeLists.txt 2021-09-21 13:27:14.134430243 +0200 +@@ -124,5 +124,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.17_ref/openturns-1.17/lib/src/Base/Common/openturns/TBB.hxx openturns-1.17_new/openturns-1.17/lib/src/Base/Common/openturns/TBB.hxx +--- openturns-1.17_ref/openturns-1.17/lib/src/Base/Common/openturns/TBB.hxx 2021-09-21 13:27:54.484811767 +0200 ++++ openturns-1.17_new/openturns-1.17/lib/src/Base/Common/openturns/TBB.hxx 2021-09-21 13:27:12.704416722 +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.17_ref/openturns-1.17/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx openturns-1.17_new/openturns-1.17/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx +--- openturns-1.17_ref/openturns-1.17/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2021-09-21 13:27:55.324819709 +0200 ++++ openturns-1.17_new/openturns-1.17/lib/src/Base/Algo/openturns/KarhunenLoeveAlgorithmImplementation.hxx 2021-09-21 13:27:13.048419975 +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 +