From fbdd8a2b3abda2e2f4f7174ade981afdfdbc2d01 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Tue, 2 Apr 2024 10:36:21 +0200 Subject: [PATCH] bos #41564 [CEA] openturns 1.22 --- applications/SALOME-master-MPI.pyconf | 4 +- applications/SALOME-master-int32.pyconf | 10 +- applications/SALOME-master-native.pyconf | 18 +- applications/SALOME-master-windows.pyconf | 4 +- applications/SALOME-master.pyconf | 34 +- products/PERSALYS.pyconf | 39 ++ products/compil_scripts/PERSALYS-f386013d.bat | 158 +++++ products/compil_scripts/PERSALYS-f386013d.sh | 139 +++++ products/compil_scripts/TTK.sh | 5 + products/compil_scripts/openturns-1.22.bat | 362 +++++++++++ products/compil_scripts/openturns-1.22.sh | 563 ++++++++++++++++++ products/dill.pyconf | 9 +- products/env_scripts/nlopt.py | 25 +- products/gdal.pyconf | 9 + products/nlopt.pyconf | 7 + products/openturns.pyconf | 48 ++ products/patches/PERSALYS-f386013d-001.patch | 11 + products/patches/PERSALYS-f386013d-002.patch | 22 + products/patches/PERSALYS-f386013d-003.patch | 14 + products/patches/PERSALYS-f386013d-004.patch | 18 + products/patches/openturns-1.22.0001.patch | 14 + products/salome_system.pyconf | 59 +- 22 files changed, 1510 insertions(+), 62 deletions(-) create mode 100644 products/compil_scripts/PERSALYS-f386013d.bat create mode 100755 products/compil_scripts/PERSALYS-f386013d.sh create mode 100644 products/compil_scripts/openturns-1.22.bat create mode 100755 products/compil_scripts/openturns-1.22.sh create mode 100644 products/patches/PERSALYS-f386013d-001.patch create mode 100644 products/patches/PERSALYS-f386013d-002.patch create mode 100644 products/patches/PERSALYS-f386013d-003.patch create mode 100644 products/patches/PERSALYS-f386013d-004.patch create mode 100644 products/patches/openturns-1.22.0001.patch diff --git a/applications/SALOME-master-MPI.pyconf b/applications/SALOME-master-MPI.pyconf index dd7a1be..689109a 100644 --- a/applications/SALOME-master-MPI.pyconf +++ b/applications/SALOME-master-MPI.pyconf @@ -93,7 +93,7 @@ APPLICATION : omniORBpy : '4.2.5' opencv : '3.2.0' openmpi : '3.1.6' # current version of hdf5 is not compatible with openmpi 4, if compiled with MPI support - openturns: {tag : '1.21', section: 'version_1_21_CO7', hpc : 'yes'} + openturns: {tag : '1.22', section: 'version_1_22', hpc : 'yes'} openVKL: '0.11.0' ospray : '2.4.0' packaging : '17.1' @@ -101,7 +101,7 @@ APPLICATION : pandas : '0.25.2' patsy : '0.5.2' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} - PERSALYS: 'v14.1' + PERSALYS: 'f386013d' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} Pillow : '8.4.0' planegcs : '0.18-3cb6890' diff --git a/applications/SALOME-master-int32.pyconf b/applications/SALOME-master-int32.pyconf index 4854f80..e1d19f9 100644 --- a/applications/SALOME-master-int32.pyconf +++ b/applications/SALOME-master-int32.pyconf @@ -92,7 +92,7 @@ APPLICATION : omniORBpy : '4.2.5' opencv : '3.2.0' openmpi : '4.0.3' - openturns: '1.21' + openturns: '1.22' openVKL: '0.11.0' ospray : '2.4.0' packaging : '17.1' @@ -100,7 +100,7 @@ APPLICATION : pandas : '0.25.2' patsy : '0.5.2' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} - PERSALYS: 'v14.1' + PERSALYS: 'f386013d' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} Pillow : '8.4.0' planegcs : '0.18-3cb6890' @@ -222,18 +222,12 @@ __overwrite__ : { __condition__ : "VARS.dist in ['CO7']" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr'] - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO7' } } { __condition__ : "VARS.dist in ['CO8']" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr', 'zeromq'] 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_CO8', hpc: 'yes'} - 'APPLICATION.products.openturns': {tag: '1.21', base: 'no', section: 'version_1_21_CO8' } - } - { - __condition__ : "VARS.dist in ['DB09']" - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } } { __condition__ : "VARS.dist in ['DB10']" diff --git a/applications/SALOME-master-native.pyconf b/applications/SALOME-master-native.pyconf index e229573..ef5deb0 100644 --- a/applications/SALOME-master-native.pyconf +++ b/applications/SALOME-master-native.pyconf @@ -83,7 +83,7 @@ APPLICATION : # comment out line above and uncomment the line below to use Netgen 6. #netgen : '6.2.2101' netcdf : 'native' - nlopt : '2.4.2' + nlopt : 'native' nose: 'native' numpy : 'native' numpydoc : 'native' @@ -92,13 +92,13 @@ APPLICATION : opencv : 'native' openmpi: 'native' openVKL : '0.11.0' - openturns: '1.21' + openturns: '1.22' ospray : '2.4.0' packaging : 'native' packagespy : '74152cd' pandas : 'native' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} - PERSALYS: 'v14.1' + PERSALYS : 'f386013d' petsc : {tag : '3.16.0', section: 'version_3_16_0'} Pillow : 'native' planegcs : '0.18-3cb6890' @@ -221,7 +221,6 @@ __overwrite__ : 'APPLICATION.rm_products' : ['TTK'] # causes crashes 'APPLICATION.products.cmake' : 'native' # TTK requires cmake > 3.21 'APPLICATION.products.opencv' : '3.2.0' - 'APPLICATION.products.nlopt' : '2.5.0' 'APPLICATION.products.cminpack' : 'native' 'APPLICATION.products.netcdf' : '4.6.2' 'APPLICATION.products.omniORB' : '4.2.5' @@ -267,8 +266,6 @@ __overwrite__ : 'APPLICATION.products.swig' : '4.0.2' 'APPLICATION.products.tbb' : '2021.9.0' 'APPLICATION.products.PyFMI' : {tag: '2.6', base: 'no', section: 'version_2_6_DB12' } - 'APPLICATION.products.nlopt' : '2.5.0' - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB12' } 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_DB12', hpc: 'yes' } } { @@ -277,14 +274,16 @@ __overwrite__ : __condition__ : "VARS.dist in ['CO8']" 'APPLICATION.products.sphinxintl' : {tag: '0.9.10', base: 'no', section: 'version_0_9_10_no_pip' } 'APPLICATION.products.cminpack' : '1.3.6' + 'APPLICATION.products.nlopt' : '2.4.2' + 'APPLICATION.products.openturns' : {tag: '1.22', base: 'no', section: 'version_1_22_CO8' } 'APPLICATION.products.PyFMI' : {tag: '2.6', base: 'no', section: 'version_2_6_no_pip' } 'APPLICATION.products.statsmodels' : {tag: '0.6.1', base: 'no', section: 'version_0_6_1_no_pip' } - 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 + 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8_native'} # spns #29324 'APPLICATION.products.swig' : '4.0.2' - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_RO8' } } { __condition__ : "VARS.dist in ['CO9']" + 'APPLICATION.products.nlopt' : '2.4.2' 'APPLICATION.products.cminpack' : '1.3.6' 'APPLICATION.products.qwt' : '6.1.2' 'APPLICATION.products.PyQt' : '5.15.3' @@ -328,7 +327,6 @@ __overwrite__ : 'APPLICATION.products.omniORB' : '4.2.5' 'APPLICATION.products.omniORBpy' : '4.2.5' 'APPLICATION.products.qwt' : '6.1.6' - 'APPLICATION.products.nlopt' : '2.6.0' 'APPLICATION.products.netcdf' : '4.6.2' 'APPLICATION.products.numpy' : {tag: '1.22.2', base: 'no', section: 'version_1_22_2' } 'APPLICATION.products.PyFMI' : {tag: '2.6', base: 'no', section: 'version_2_6_no_pip' } @@ -344,7 +342,6 @@ __overwrite__ : 'APPLICATION.products.omniORB' : '4.2.5' 'APPLICATION.products.omniORBpy' : '4.2.5' 'APPLICATION.products.qwt' : '6.1.6' - 'APPLICATION.products.nlopt' : '2.6.0' 'APPLICATION.products.netcdf' : '4.6.2' 'APPLICATION.products.numpy' : {tag: '1.22.2', base: 'no', section: 'version_1_22_2' } 'APPLICATION.products.PyFMI' : {tag: '2.6', base: 'no', section: 'version_2_6_FD37' } @@ -360,7 +357,6 @@ __overwrite__ : 'APPLICATION.products.omniORB' : '4.2.5' 'APPLICATION.products.omniORBpy' : '4.2.5' 'APPLICATION.products.qwt' : '6.1.6' - 'APPLICATION.products.nlopt' : '2.6.0' 'APPLICATION.products.netcdf' : '4.6.2' 'APPLICATION.products.swig' : '4.0.2' 'APPLICATION.products.petsc' : {tag: '3.16.0', base: 'no', section: 'version_3_16_0_FD38' } diff --git a/applications/SALOME-master-windows.pyconf b/applications/SALOME-master-windows.pyconf index 0351077..7edc71f 100644 --- a/applications/SALOME-master-windows.pyconf +++ b/applications/SALOME-master-windows.pyconf @@ -95,13 +95,13 @@ APPLICATION : openblas : '0.3.23' opencv : '3.2.0' openVKL: '0.11.0' - openturns: '1.21' + openturns: '1.22' ospray : '2.4.0' packaging : '19.0' pandas : '1.5.3' patsy : '0.5.2' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0'} - PERSALYS: 'v14.1' + PERSALYS: 'f386013d' perl : '5.28.1.1' Pillow : '10.2.0' planegcs : '0.18-3cb6890' diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index ae57723..c84c7c9 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -99,7 +99,7 @@ APPLICATION : omniORBpy : '4.2.5' opencv : '3.2.0' openmpi : '4.0.3' - openturns: '1.21' + openturns: '1.22' openVKL: '0.11.0' ospray : '2.4.0' packaging : '23.2' @@ -107,7 +107,7 @@ APPLICATION : pandas : '1.1.5' patsy : '0.5.4' ParaView : {tag:'5.11.0', base: 'no', section: 'version_5_11_0_MPI', hpc: 'yes'} - PERSALYS: 'v14.1' + PERSALYS: 'f386013d' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} Pillow : '8.4.0' planegcs : '0.18-3cb6890' @@ -274,7 +274,7 @@ __overwrite__ : 'APPLICATION.products.statsmodels' : '0.8.0' 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' 'APPLICATION.products.Sphinx' : '1.7.6' - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO7' } + 'APPLICATION.products.openturns' : {tag: '1.22', base: 'no', section: 'version_1_22_CO7' } } { @@ -292,7 +292,10 @@ __overwrite__ : 'sphinxcontrib_jquery', 'sphinxcontrib_qthelp', 'sphinxcontrib_htmlhelp', - 'sphinxcontrib_serializinghtml' + 'sphinxcontrib_serializinghtml', + 'tabulate', + 'tomli', + 'zipp' ] 'APPLICATION.products.Babel' : '2.7.0' 'APPLICATION.products.Cython': '0.29.12' @@ -325,7 +328,7 @@ __overwrite__ : 'APPLICATION.products.statsmodels' : '0.8.0' 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_CO8', hpc: 'yes'} - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO8' } + 'APPLICATION.products.openturns' : {tag: '1.22', base: 'no', section: 'version_1_22_CO8' } } { @@ -342,7 +345,10 @@ __overwrite__ : 'sphinxcontrib_jquery', 'sphinxcontrib_qthelp', 'sphinxcontrib_htmlhelp', - 'sphinxcontrib_serializinghtml' + 'sphinxcontrib_serializinghtml', + 'tabulate', + 'tomli', + 'zipp' ] 'APPLICATION.products.Babel' : '2.7.0' 'APPLICATION.products.Cython': '0.29.12' @@ -373,8 +379,7 @@ __overwrite__ : 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' 'APPLICATION.products.sphinxintl' : '0.9.10' 'APPLICATION.products.statsmodels' : '0.8.0' - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } - 'APPLICATION.products.MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'} + 'APPLICATION.products.openturns' : {tag: '1.22', base: 'no', section: 'version_1_22_DB09' } } { __condition__ : "VARS.dist in ['FD30']" @@ -388,16 +393,16 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_FD32'} # spns #29324 } { - __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver != '3.6'" + __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver == '3.9'" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr'] - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO7' } + 'APPLICATION.products.openturns' : {tag:'1.22', base:'no', section:'version_1_22_CO7'} } { - __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver != '3.6'" + __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver == '3.9'" 'APPLICATION.rm_products' : ['gcc', 'gmp', 'mpc', 'mpfr', 'zeromq'] 'APPLICATION.products.gdal' : {tag:'2.4.0', base: 'no', section: 'version_2_4_0_CO8' } # spns #29324 + 'APPLICATION.products.openturns' : {tag:'1.22', base:'no', section:'version_1_22_CO8'} 'APPLICATION.products.ParaView' : {tag: '5.11.0', base: 'no', section: 'version_5_11_0_MPI_CO8', hpc: 'yes'} - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_CO8' } } { __condition__ : "VARS.dist in ['DB10']" @@ -405,9 +410,8 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_DB10'} # spns #29324 } { - __condition__ : "VARS.dist in ['DB09'] and APPLICATION.pyver != '3.6'" - 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } - 'APPLICATION.products.MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'} + __condition__ : "VARS.dist in ['DB09']" + 'APPLICATION.products.openturns' : {tag:'1.22', base:'no', section:'version_1_22_DB09'} } { __condition__ : "VARS.dist in ['UB18.04']" diff --git a/products/PERSALYS.pyconf b/products/PERSALYS.pyconf index 6710d35..24f82e9 100644 --- a/products/PERSALYS.pyconf +++ b/products/PERSALYS.pyconf @@ -58,6 +58,45 @@ default_win : incremental : "yes" } } +version_f386013d : +{ +} + +version_f386013d_win : +{ + compil_script : 'PERSALYS-f386013d.bat' + depend : ['Python', + 'hdf5', + 'cgns', + 'tbb', + 'nlopt', + 'libxml2', + 'eigen', + 'boost', + 'ADAO', + 'KERNEL', + 'GUI', + 'Sphinx', + 'qwt', + 'qt', + 'ParaView', + 'openturns', + 'FMILibrary', + 'PyFMI', + 'YACS', + 'YDEFX', + 'PY2CPP', + 'CAS', + 'CONFIGURATION', + 'openblas', + 'pthreads' + ] + patches : ['PERSALYS-f386013d-001.patch', + 'PERSALYS-f386013d-002.patch', + 'PERSALYS-f386013d-003.patch', + 'PERSALYS-f386013d-004.patch' + ] +} version_v14_1 : { diff --git a/products/compil_scripts/PERSALYS-f386013d.bat b/products/compil_scripts/PERSALYS-f386013d.bat new file mode 100644 index 0000000..cd4f0aa --- /dev/null +++ b/products/compil_scripts/PERSALYS-f386013d.bat @@ -0,0 +1,158 @@ +@echo off + +echo ########################################################################## +echo openturns %VERSION% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +SET PRODUCT_BUILD_TYPE=Release +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +IF NOT DEFINED CMAKE_GENERATOR ( + SET CMAKE_GENERATOR="Visual Studio 15 2017 Win64" +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +SET CMAKE_OPTIONS= +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_LIBDIR:STRING=lib +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig.exe +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT_DIR=%TBB_ROOT_DIR% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dtbb_DIR:PATH=%TBB_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_TBB=OFF +REM libxml2 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_INCLUDE_DIR:STRING=%LIBXML2_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARIES:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARY:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_XMLLINT_EXECUTABLE=%LIBXML2_ROOT_DIR:\=/%/bin/xmllint.exe + + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_ROOT_DIR=%PTHREAD_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_INCLUDE_DIR=%PTHREAD_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_DLL_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVC2.dll +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPTHREAD_LIBRARY=%PTHREAD_ROOT_DIR:\=/%/lib/pthreadVCE2.lib + +REM HDF5 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_DIR:PATH=%HDF5_ROOT_DIR:\=/%/cmake/hdf5 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_INCLUDE_DIRS:PATH=%HDF5_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_INCLUDE_DIRS:STRING=%NLOPT_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_LIBRARIES:STRING=%NLOPT_ROOT_DIR:\=/%/bin +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_DIR:STRING=%NLOPT_ROOT_DIR:\=/% + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCBLAS_DIR=%OPENBLAS_ROOT_DIR:\=/%/share/cmake/OpenBLAS + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_EXECUTABLE:FILEPATH=%PYTHON_ROOT_DIR:\=/%/python3.exe +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_INCLUDE_DIR:PATH=%PYTHON_ROOT_DIR:\=/%/include + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLAPACK_LIBRARIES:FILEPATH=%OPENBLAS_ROOT_DIR:\=/%/lib/openblas.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="/OPT:NOREF /INCREMENTAL:NO" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD_BATCH_SIZE=16 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_COMPILE_FLAGS="/bigobj" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_SHARED_LIBS:BOOL=ON +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DADAO_ROOT_DIR=%ADAO_ROOT_DIR:\=/% + +REM Boost settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_ROOT:PATH=%BOOST_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_ADDITIONAL_VERSIONS="1.67.0 1.67" +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBOOST_INCLUDEDIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_INCLUDE_DIR=%BOOST_ROOT_DIR:\=/%/include/boost-1_67 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_BOOST_CMAKE:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DBoost_NO_SYSTEM_PATHS:BOOL=ON + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DGUI_ROOT_DIR=%GUI_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeGUI_DIR=%GUI_ROOT_DIR:\=/%/adm_local/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DKERNEL_ROOT_DIR=%KERNEL_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeKERNEL_DIR=%KERNEL_ROOT_DIR:\=/%/salome_adm/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DOpenTURNS_DIR=%OT_ROOT_DIR:\=/%/lib/cmake/openturns +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dotmorris_DIR==%OT_ROOT_DIR:\=/%/lib/cmake/otmorris +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPy2cpp_DIR=%PY2CPP_ROOT_DIR:\=/%/lib/cmake/py2cpp + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_INCLUDE_DIR=%QWT_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DQWT_LIBRARY=%QWT_ROOT_DIR:\=/%/lib/qwt.lib + +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSPHINX_ROOT_DIR=%SPHINX_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DYACS_ROOT_DIR=%YACS_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSalomeYACS_DIR=%YACS_ROOT_DIR:\=/%/adm/cmake +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dydefx_DIR=%YDEFX_ROOT_DIR:\=/%/salome_adm/cmake_files +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_INCLUDE_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DAdaoCppLayer_ROOT_DIR=%ADAO_INTERFACE_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SALOME=ON +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT=%TBB_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_INCLUDE_DIR=%TBB_ROOT_DIR:\=/%/include +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_INCLUDE_DIR=%PYTHON_INCLUDE:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_FIND_ROOT_PATH=ON + +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_LIBRARY:STRING=%CGNS_ROOT_DIR:\=/%/lib/cgnsdll.lib +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCGNS_INCLUDE_DIR:PATH=%CGNS_ROOT_DIR:\=/%/include + + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %BUILD_DIR% + +set MSBUILDDISABLENODEREUSE=1 + +echo. +echo ********************************************************************* +echo *** %CMAKE_ROOT%\bin\cmake %CMAKE_OPTIONS% %SOURCE_DIR% +echo ********************************************************************* +echo. + +%CMAKE_ROOT%\bin\cmake -G %CMAKE_GENERATOR% %CMAKE_OPTIONS% %SOURCE_DIR% +if NOT %ERRORLEVEL% == 0 ( + echo "ERROR on cmake" + exit 1 +) + +echo. +echo ********************************************************************* +echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj + +echo ********************************************************************* +echo. + +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode ALL_BUILD.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild ALL_BUILD.vcxproj, please check! + REM exit 2 +) + +echo. +echo ********************************************************************* +echo *** installation... +echo ********************************************************************* +echo. + +msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 /p:CharacterSet=Unicode INSTALL.vcxproj +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild INSTALL.vcxproj + exit 3 +) + +echo +echo "########## END" diff --git a/products/compil_scripts/PERSALYS-f386013d.sh b/products/compil_scripts/PERSALYS-f386013d.sh new file mode 100755 index 0000000..a64aa95 --- /dev/null +++ b/products/compil_scripts/PERSALYS-f386013d.sh @@ -0,0 +1,139 @@ +#!/bin/bash + +echo "##########################################################################" +echo "PERSALYS" $VERSION +echo "##########################################################################" + +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}" + CMAKE_OPTIONS+=" -DMPI_C_FOUND=$MPI_C_FOUND" +fi + +CMAKE_OPTIONS="" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=$PRODUCT_INSTALL" +CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib" +CMAKE_OPTIONS+=" -DADAO_ROOT_DIR=$ADAO_ROOT_DIR" +CMAKE_OPTIONS+=" -DBOOST_ROOT:PATH=$BOOST_ROOT_DIR" +CMAKE_OPTIONS+=" -DGUI_ROOT_DIR=$GUI_ROOT_DIR" +CMAKE_OPTIONS+=" -DSalomeGUI_DIR=$GUI_ROOT_DIR/adm_local/cmake_files" +CMAKE_OPTIONS+=" -DKERNEL_ROOT_DIR=$KERNEL_ROOT_DIR" +CMAKE_OPTIONS+=" -DSalomeKERNEL_DIR=$KERNEL_ROOT_DIR/salome_adm/cmake_files" +CMAKE_OPTIONS+=" -DOpenTURNS_DIR=$OT_ROOT_DIR/lib/cmake/openturns" +CMAKE_OPTIONS+=" -DPy2cpp_DIR=$PY2CPP_ROOT_DIR//lib/cmake/py2cpp" + +# strangely some distributions fail to guess qwt installation location +# - CentOS 8 +# - Ubuntu 20.04 +if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && "$SAT_qwt_IS_NATIVE" == "1" ]]; then + CMAKE_OPTIONS+=" -DQWT_LIBRARY=/usr/lib64/libqwt-qt5.so" + CMAKE_OPTIONS+=" -DQWT_INCLUDE_DIR=/usr/include/qt5/qwt" +elif [[ $DIST_NAME == "UB" && $DIST_VERSION == "20.04" && "$SAT_qwt_IS_NATIVE" == "1" ]]; then + CMAKE_OPTIONS+=" -DQWT_LIBRARY=/usr/lib/libqwt-qt5.so" + CMAKE_OPTIONS+=" -DQWT_INCLUDE_DIR=/usr/include/qwt" +elif [ "$SAT_qwt_IS_NATIVE" != "1" ]; then + CMAKE_OPTIONS+=" -DQWT_LIBRARY=$QWT_ROOT_DIR/lib/libqwt.so" + CMAKE_OPTIONS+=" -DQWT_INCLUDE_DIR=$QWT_ROOT_DIR/include" +fi + +if [[ "$DIST_NAME$DIST_VERSION" == "CO8" ]]; then + CMAKE_OPTIONS+=" -DUSE_SPHINX=OFF" # missing tex-preview LateX package for CentOS 8 +elif [[ "$DIST_NAME$DIST_VERSION" == "CO7" ]]; then + CMAKE_OPTIONS+=" -DUSE_SPHINX=OFF" # missing tex-preview LateX package for CentOS 7 - à installer +elif [ "$DIST_NAME$DIST_VERSION" == "FD36" ]; then + CMAKE_OPTIONS+=" -DUSE_SPHINX=OFF" # +elif [ "$DIST_NAME$DIST_VERSION" == "FD37" ]; then + CMAKE_OPTIONS+=" -DUSE_SPHINX=OFF" # +elif [ "$DIST_NAME$DIST_VERSION" == "FD38" ]; then + CMAKE_OPTIONS+=" -DUSE_SPHINX=OFF" # +else + CMAKE_OPTIONS+=" -DUSE_SPHINX=ON" +fi +CMAKE_OPTIONS+=" -DSPHINX_ROOT_DIR=$SPHINX_ROOT_DIR" +CMAKE_OPTIONS+=" -DYACS_ROOT_DIR=$YACS_ROOT_DIR" +CMAKE_OPTIONS+=" -DSalomeYACS_DIR=$YACS_ROOT_DIR/adm/cmake" +CMAKE_OPTIONS+=" -Dydefx_DIR=$YDEFX_ROOT_DIR/salome_adm/cmake_files" +CMAKE_OPTIONS+=" -DAdaoCppLayer_INCLUDE_DIR=$ADAO_INTERFACE_ROOT_DIR/include" +CMAKE_OPTIONS+=" -DAdaoCppLayer_ROOT_DIR=$ADAO_INTERFACE_ROOT_DIR" +CMAKE_OPTIONS+=" -DUSE_SALOME=ON" +if [ ! -z "$TBB_ROOT" ]; then + CMAKE_OPTIONS+=" -DTBB_ROOT=$TBB_ROOT_DIR" + CMAKE_OPTIONS+=" -DTBB_INCLUDE_DIR=$TBB_ROOT_DIR/include" +fi +CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=$PYTHONBIN" + +CMAKE_OPTIONS+=" -DPYTHON_INCLUDE_DIR=$PYTHON_INCLUDE" +if [ "$SAT_Python_IS_NATIVE" != "1" ]; then + CMAKE_OPTIONS+=" -DPYTHON_LIBRARY=$PYTHON_ROOT_DIR/lib/libpython$PYTHON_VERSION.so" +fi + +if [ "$SAT_Sphinx_IS_NATIVE" != "1" ]; then + CMAKE_OPTIONS+=" -DSPHINX_ROOT_DIR:FILEPATH=$SPHINX_ROOT_DIR" + CMAKE_OPTIONS+=" -DSPHINX_EXECUTABLE:FILEPATH=$SPHINX_ROOT_DIR/bin/sphinx-build" +fi + +CMAKE_OPTIONS+=" -DCMAKE_FIND_ROOT_PATH=ON" +CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE:PATH=$(which swig)" +if [ "${SAT_cgns_IS_NATIVE}" != "1" ] +then + CMAKE_OPTIONS+=" -DCGNS_INCLUDE_DIR:PATH=${CGNS_ROOT_DIR}/include" + CMAKE_OPTIONS+=" -DCGNS_LIBRARY:PATH=${CGNS_ROOT_DIR}/lib/libcgns.so" +fi +if [ -n "$SAT_DEBUG" ]; then + CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Debug" +else + CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release" +fi + +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 + +# spns #32377 +# setting -DCMAKE_INSTALL_LIBDIR to lib is not enough on Fedora nodes +echo +echo "*** check installation" +if [ ! -d "${PRODUCT_INSTALL}/lib" ]; then + mkdir -p ${PRODUCT_INSTALL}/lib +fi + +if [ -d "${PRODUCT_INSTALL}/lib64" ]; then + echo "WARNING: moving lib64 to lib" + mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib/ + rmdir ${PRODUCT_INSTALL}/lib64 +fi + + +if [ -d "${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/dist-packages" ]; then + echo "WARNING: linking against dist-packages" + cd ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION} + ln -sf dist-packages site-packages +fi + +echo +echo "########## END" + diff --git a/products/compil_scripts/TTK.sh b/products/compil_scripts/TTK.sh index 092f5f6..bc109d9 100755 --- a/products/compil_scripts/TTK.sh +++ b/products/compil_scripts/TTK.sh @@ -48,6 +48,11 @@ then exit 1 fi +if [ $LINUX_DISTRIBUTION == DB09 ]; then + echo "WARNING: reset MAKE_OPTIONS" + MAKE_OPTIONS= +fi + echo echo "*** make" $MAKE_OPTIONS make $MAKE_OPTIONS diff --git a/products/compil_scripts/openturns-1.22.bat b/products/compil_scripts/openturns-1.22.bat new file mode 100644 index 0000000..a84f383 --- /dev/null +++ b/products/compil_scripts/openturns-1.22.bat @@ -0,0 +1,362 @@ +@echo off + +echo ########################################################################## +echo openturns %VERSION% +echo ########################################################################## + +IF NOT DEFINED SAT_DEBUG ( + SET SAT_DEBUG=0 +) + +IF NOT DEFINED CMAKE_GENERATOR ( + SET CMAKE_GENERATOR="Visual Studio 15 2017 Win64" +) +SET PRODUCT_BUILD_TYPE=Release + +REM TODO: NGH: not Tested yet +if %SAT_DEBUG% == 1 ( + set PRODUCT_BUILD_TYPE=Debug +) + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% + +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +REM we don't install in python directory -> modify environment as described in INSTALL file +set PATH=%WINFLEX_ROOT_DIR%;%PATH% +SET PATH=%CWD%\bin;%PATH% +SET PYTHONPATH=%CWD%;%PYTHONPATH% +SET PYTHONPATH=%PRODUCT_INSTALL%\lib\python%PYTHON_VERSION%\site-packages;%PYTHONPATH% + +GOTO:MAIN + +:MODULE_BUILDER + SETLOCAL ENABLEDELAYEDEXPANSION + SET MODULE_NAME=%~1 + SET MODULE_SOURCE_DIR=%~2 + SET MODULE_BUILD_DIR=%~3 + SET MODULE_INSTALL_DIR=%~4 + SET X=%~5 + SET MODULE_CMAKE_OPTIONS=%X:'="% + REM NGH: We replace ' with " - we could of course parse the input. + ECHO call MODULE_BUILDER for %MODULE_NAME% + ECHO command line option: %MODULE_CMAKE_OPTIONS% + REM TODO: NGH: not Tested yet + if exist "%MODULE_BUILD_DIR%" rmdir /Q /S %MODULE_BUILD_DIR% + mkdir %MODULE_BUILD_DIR% + cd %MODULE_BUILD_DIR% + + echo. + echo -------------------------------------------------------------------------- + echo *** %CMAKE_ROOT%\bin\cmake -G %CMAKE_GENERATOR% %MODULE_CMAKE_OPTIONS% %MODULE_SOURCE_DIR% + echo -------------------------------------------------------------------------- + %CMAKE_ROOT%\bin\cmake -G %CMAKE_GENERATOR% %MODULE_CMAKE_OPTIONS% %MODULE_SOURCE_DIR% + if NOT %ERRORLEVEL% == 0 ( + echo ERROR on cmake + exit 1 + ) + + echo. + echo -------------------------------------------------------------------------- + echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj + echo -------------------------------------------------------------------------- + msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 ALL_BUILD.vcxproj + if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild ALL_BUILD.vcxproj + exit 2 + ) + + echo. + echo -------------------------------------------------------------------------- + echo *** msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj + echo -------------------------------------------------------------------------- + + msbuild %MAKE_OPTIONS% /p:Configuration=%PRODUCT_BUILD_TYPE% /p:Platform=x64 INSTALL.vcxproj + if NOT %ERRORLEVEL% == 0 ( + echo ERROR on msbuild INSTALL.vcxproj + exit 3 + ) + ENDLOCAL +EXIT /B 0 + + +:MAIN + +SET CMAKE_OPTIONS= +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_PREFIX:STRING=%PRODUCT_INSTALL:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_BUILD_TYPE:STRING=%PRODUCT_BUILD_TYPE% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_INSTALL_LIBDIR:STRING=lib +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPYTHON_EXECUTABLE=%PYTHONBIN% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_EXECUTABLE=%SWIG_ROOT_DIR:\=/%/bin/swig +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DTBB_ROOT_DIR=%TBB_ROOT_DIR% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -Dtbb_DIR:PATH=%TBB_ROOT_DIR:\=/% +SET CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_TBB=OFF +REM libxml2 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_libxml2:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_INCLUDE_DIR:STRING=%LIBXML2_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_LIBRARIES:STRING=%LIBXML2_ROOT_DIR:\=/%/lib/libxml2.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLIBXML2_XMLLINT_EXECUTABLE=%LIBXML2_ROOT_DIR:\=/%/bin/xmllint.exe + +REM HDF5 settings +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DVTK_MODULE_USE_EXTERNAL_VTK_hdf5:BOOL=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_DIR:PATH=%HDF5_ROOT_DIR:\=/%/cmake/hdf5 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_INCLUDE_DIRS:PATH=%HDF5_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_INCLUDE_DIRS:STRING=%NLOPT_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_LIBRARIES:STRING=%NLOPT_ROOT_DIR:\=/%/bin +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DNLOPT_DIR:STRING=%NLOPT_ROOT_DIR:\=/% +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCBLAS_DIR=%OPENBLAS_ROOT_DIR:\=/%/share/cmake/OpenBLAS +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_EXECUTABLE:FILEPATH=%PYTHON_ROOT_DIR:\=/%/python3.exe +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DPython3_INCLUDE_DIR:PATH=%PYTHON_ROOT_DIR:\=/%/include +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DLAPACK_LIBRARIES:FILEPATH=%OPENBLAS_ROOT_DIR:\=/%/lib/openblas.lib +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_SHARED_LINKER_FLAGS_RELEASE='/OPT:NOREF /INCREMENTAL:NO' +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD=ON +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DCMAKE_UNITY_BUILD_BATCH_SIZE=16 +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DSWIG_COMPILE_FLAGS='/bigobj' +set CMAKE_OPTIONS=%CMAKE_OPTIONS% -DUSE_SPHINX=OFF + +if NOT exist "%PRODUCT_INSTALL%" mkdir %PRODUCT_INSTALL% +REM clean BUILD directory +if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% +mkdir %BUILD_DIR% + +cd %BUILD_DIR% +mkdir cache +mkdir cache\pip + +echo ########################################################################## +echo openturns 1.22 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% +CALL:MODULE_BUILDER openturns "%SOURCE_DIR%\openturns-1.22" "%BUILD_DIR%\openturns" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +set PATH=%PRODUCT_INSTALL%\bin;%PRODUCT_INSTALL%\lib;%PATH% +set PYTHONPATH=%PRODUCT_INSTALL%\lib\site-packages;%PYTHONPATH% + +echo ########################################################################## +echo otagrum 0.9 [SKIPPED] +echo ########################################################################## +REM SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF +REM CALL:MODULE_BUILDER otagrum "%SOURCE_DIR%\otagrum-0.9" "%BUILD_DIR%\otagrum" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otmorris 0.15 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% +CALL:MODULE_BUILDER otmorris "%SOURCE_DIR%\otmorris-0.15" "%BUILD_DIR%\otmorris" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otfftw 0.14 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% +CALL:MODULE_BUILDER otfftw "%SOURCE_DIR%\otfftw-0.14" "%BUILD_DIR%\otfftw" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otmixmod 0.16 [SKIPPED] +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% +REM CALL:MODULE_BUILDER otmixmod "%SOURCE_DIR%\otmixmod-0.16" "%BUILD_DIR%\otmixmod" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otrobopt 0.13 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF +CALL:MODULE_BUILDER otrobopt "%SOURCE_DIR%\otrobopt-0.13" "%BUILD_DIR%\otrobopt" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otsubsetinverse 1.10 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF +CALL:MODULE_BUILDER otsubsetinverse "%SOURCE_DIR%\otsubsetinverse-1.10" "%BUILD_DIR%\otsubsetinverse" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo ########################################################################## +echo otsvm 0.13 +echo ########################################################################## +SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF +CALL:MODULE_BUILDER otsvm "%SOURCE_DIR%\otsvm-0.13" "%BUILD_DIR%\otsvm" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" + +echo +echo ########################################################################## +echo dill 0.3.4 +echo ########################################################################## +cd %BUILD_DIR% +mkdir dill +cd %BUILD_DIR%\dill +xcopy %SOURCE_DIR%\dill-0.3.4\* %BUILD_DIR%\dill /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% dill-0.3.4-py2.py3-none-any.whl --no-deps +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo ########################################################################## +echo decorator 5.1.0 +echo ########################################################################## +cd %BUILD_DIR% +mkdir decorator +cd %BUILD_DIR%\decorator +xcopy %SOURCE_DIR%\decorator-5.1.0\* %BUILD_DIR%\decorator /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% decorator-5.1.0-py3-none-any.whl --no-deps +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo ########################################################################## +echo threadpoolctl 3.0.0 +echo ########################################################################## +cd %BUILD_DIR% +mkdir threadpoolctl +cd %BUILD_DIR%\threadpoolctl +xcopy %SOURCE_DIR%\threadpoolctl-3.0.0\* %BUILD_DIR%\threadpoolctl /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% threadpoolctl-3.0.0-py3-none-any.whl --no-deps +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo ########################################################################## +echo joblib 1.1.0 +echo ########################################################################## +cd %BUILD_DIR% +mkdir joblib +cd %BUILD_DIR%\joblib +xcopy %SOURCE_DIR%\joblib-1.1.0\* %BUILD_DIR%\joblib /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% joblib-1.1.0-py2.py3-none-any.whl --no-deps +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo ########################################################################## +echo scikit-learn 0.24.2 +echo ########################################################################## +cd %BUILD_DIR% +mkdir scikit-learn +cd %BUILD_DIR%\scikit-learn +xcopy %SOURCE_DIR%\scikit-learn-0.24.2\* %BUILD_DIR%\scikit-learn /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +if %PYTHON_VERSION% == 3.6 ( + %PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% scikit-learn-0.24.2.tar.gz --no-deps --no-use-pep517 +) else ( + tar zxf scikit-learn-0.24.2.tar.gz + cd scikit-learn-0.24.2 + %PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +) + +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo ########################################################################## +echo pythonfmu 0.6.3 +echo ########################################################################## +cd %BUILD_DIR% +mkdir pythonfmu +cd %BUILD_DIR%\pythonfmu +xcopy %SOURCE_DIR%\pythonfmu-0.6.3\* %BUILD_DIR%\pythonfmu /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy of pythonfmu-0.6.3 + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe -m pip install --cache-dir=%BUILD_DIR%\cache\pip --prefix=%PRODUCT_INSTALL% pythonfmu-0.6.3-py3-none-any.whl --no-deps +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo ########################################################################## +echo otfmi 0.16.2 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otfmi + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otfmi +xcopy %SOURCE_DIR%\otfmi-0.16.2\* %BUILD_DIR%\otfmi /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo ########################################################################## +echo otpod 0.6.10 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otpod + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otpod +xcopy %SOURCE_DIR%\otpod-0.6.10\* %BUILD_DIR%\otpod /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo ########################################################################## +echo otwrapy 0.11 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otwrapy + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otwrapy +xcopy %SOURCE_DIR%\otwrapy-0.11\* %BUILD_DIR%\otwrapy /E /I /Q +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on xcopy + exit 3 +) + +%PYTHON_ROOT_DIR%\python.exe setup.py install --prefix=%PRODUCT_INSTALL% +if NOT %ERRORLEVEL% == 0 ( + echo ERROR on python setup.py + exit 3 +) + +echo +echo "########## END" diff --git a/products/compil_scripts/openturns-1.22.sh b/products/compil_scripts/openturns-1.22.sh new file mode 100755 index 0000000..ced175d --- /dev/null +++ b/products/compil_scripts/openturns-1.22.sh @@ -0,0 +1,563 @@ +#!/bin/bash + +echo "##########################################################################" +echo "openturns" $VERSION +echo "##########################################################################" + +LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION" + +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 [ "$SAT_Python_IS_NATIVE" == "1" ] && [ "$LINUX_DISTRIBUTION" == "CO8" ] ; then + CMAKE_OPTIONS+=" -DPython_EXECUTABLE=${PYTHONBIN}" +fi + +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 +case $LINUX_DISTRIBUTION in + UB22*|CO8*|CO9*|FD36|FD37|FD38) + 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_DIR:STRING=${NLOPT_ROOT_DIR}/include" + CMAKE_OPTIONS+=" -DNLOPT_LIBRARY:STRING=${NLOPT_ROOT_DIR}/lib/libnlopt.so" + CMAKE_OPTIONS+=" -DNLOPT_DIR:STRING=${NLOPT_ROOT_DIR}" +fi + +# Boost +if [ -n "$BOOST_ROOT_DIR" ] && [ "$SAT_boost_IS_NATIVE" != "1" ]; then + CMAKE_OPTIONS+=" -DBOOST_DIR=${BOOST_ROOT_DIR}" +fi + +echo +echo "*** cmake" $CMAKE_OPTIONS + +rm -rf $BUILD_DIR +mkdir -p $BUILD_DIR/openturns +mkdir -p $BUILD_DIR/cache/pip + +# since we are using several nodes and share the same $HOME +# compilation can get screwed up. +# following this discussion: https://tex.stackexchange.com/questions/467824/is-it-possible-to-relocate-my-texmf-directory +# we define the following environment variables +export TEXMFHOME=$BUILD_DIR/texmf +export TEXMFVAR=$BUILD_DIR/texlive +export TEXMFCONFIG=$BUILD_DIR/texlive +mkdir -p $TEXMFHOME +mkdir -p $TEXMFVAR +mkdir -p $TEXMFCONFIG + +cd $BUILD_DIR/openturns +cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.22 +if [ $? -ne 0 ] +then + echo "ERROR on cmake" + exit 1 +fi + +echo +echo "*** make" $MAKE_OPTIONS +make $MAKE_OPTIONS +if [ $? -ne 0 ] +then + echo "ERROR on make" + exit 2 +fi + +echo +echo "*** make install" +make install +if [ $? -ne 0 ] +then + echo "ERROR on make install" + exit 3 +fi + +echo +echo "*** check installation" +if [ ! -d "${PRODUCT_INSTALL}/lib" ]; then + mkdir -p ${PRODUCT_INSTALL}/lib +fi + +if [ -d "${PRODUCT_INSTALL}/lib64" ]; then + echo "WARNING: moving lib64 to lib" + mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib/ + rm -rf ${PRODUCT_INSTALL}/lib64 +elif [ -d "${PRODUCT_INSTALL}/local/lib64" ]; then + echo "WARNING: moving local/lib64 to lib" + mv ${PRODUCT_INSTALL}/local/lib64/* ${PRODUCT_INSTALL}/lib/ + rm -rf ${PRODUCT_INSTALL}/local/lib64 +fi + +if [ -d ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/dist-packages ]; then + mv ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/dist-packages ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages +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.22/python/test/t_features.py +${PYTHONBIN} ${SOURCE_DIR}/openturns-1.22/python/test/t_features.py +if [ $? -ne 0 ] +then + echo "ERROR testing Openturns features...." + exit 4 +fi + +cd $BUILD_DIR +mkdir ${BUILD_DIR}/mixmod +cd ${BUILD_DIR}/mixmod + +CMAKE_EXTRA_OPTIONS= +CMAKE_EXTRA_OPTIONS+=" -DMIXMOD_BUILD_EXAMPLES=ON" +CMAKE_EXTRA_OPTIONS+=" -DMIXMOD_BUILD_IOSTREAM=ON" +CMAKE_EXTRA_OPTIONS+=" -DMIXMOD_BUILD_CLI=ON" + +case $LINUX_DISTRIBUTION in + DB9) + echo "WARNING: Skipping MIXMOD - since libxml++ compilation is quite tedious on that platform" + echo "WARNING: You can either target the stretch archives and install libxml++-dev and compile or leave it as it is" + + ;; + *) + echo + echo "*** cmake " $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/mixmod-2.1.10 + cmake $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/mixmod-2.1.10 + 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 + ;; +esac + +LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH} +if [[ -d "$SOURCE_DIR/otfftw-0.14" ]]; then + declare -A OTC + OTC["otagrum"]="0.9" + OTC["otfftw"]="0.14" + OTC["otmixmod"]="0.16" + OTC["otmorris"]="0.15" + OTC["otrobopt"]="0.13" + OTC["otsubsetinverse"]="1.10" + OTC["otsvm"]="0.13" + + 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]}" + CMAKE_EXTRA_OPTIONS+=" -DMIXMOD_INCLUDE_DIR=$PRODUCT_INSTALL/include" + CMAKE_EXTRA_OPTIONS+=" -DMIXMOD_LIBRARIES=$PRODUCT_INSTALL/lib/libmixmod.so" + if [ ! -f $PRODUCT_INSTALL/lib/libmixmod.so ]; then + echo "WARNING: libmixmod.so is not installed where it is expected to be. Skipping..." + continue + fi + elif [[ $k == "otsubsetinverse" ]]; then + CMAKE_EXTRA_OPTIONS+=" -DOPENTURNS_HOME=$PRODUCT_INSTALL" + CMAKE_EXTRA_OPTIONS+=" -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON" + CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" + elif [[ $k == "otfftw" ]]; then + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" + elif [[ $k == "otmorris" ]]; then + case $LINUX_DISTRIBUTION in + DB*|FD*|UB*) + echo "WARNING: switching OFF documentation build" + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" + CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed. + ;; + esac + elif [[ $k == "otrobopt" ]]; then + case $LINUX_DISTRIBUTION in + DB*|FD*|UB*) + echo "WARNING: switching OFF documentation build" + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" + CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed. + ;; + esac + elif [[ $k == "otsvm" ]]; then + case $LINUX_DISTRIBUTION in + DB*|FD*|UB*) + echo "WARNING: switching OFF documentation build" + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" + CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF" # missing package to be installed. + ;; + esac + elif [[ $k == "otpmml" ]]; then + CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" + fi + + echo + echo "*** cmake " $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]} + cmake $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]} + if [ $? -ne 0 ] + then + echo "ERROR on cmake" + exit 1 + fi + + echo + echo "*** make" $MAKE_OPTIONS + make $MAKE_OPTIONS + if [ $? -ne 0 ] + then + echo "ERROR on make" + exit 2 + fi + + echo + echo "*** make install" + make install + if [ $? -ne 0 ] + then + echo "ERROR on make install" + exit 3 + fi + echo "INFO: check presence of $PRODUCT_INSTALL/local" + if [ -d "$PRODUCT_INSTALL/local" ]; then + echo "INFO: $PRODUCT_INSTALL/local is present - reearrange ..." + if [ -d ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ]; then + mv ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/site-packages + fi + for D in $(ls $PRODUCT_INSTALL/local); do + echo "INFO: next subdirectory: $PRODUCT_INSTALL/local/$D" + if [ -d $PRODUCT_INSTALL/$D ]; then + cp -r $PRODUCT_INSTALL/local/$D/* $PRODUCT_INSTALL/$D/ + else + mv $PRODUCT_INSTALL/local/$D $PRODUCT_INSTALL/$D + fi + done + rm -rf $PRODUCT_INSTALL/local + fi + done + + declare -A OTP + OTP["otfmi"]="0.16.2" + OTP["otpod"]="0.6.10" + 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 + echo "INFO: install pythonfmu-0.6.3" + ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip $SOURCE_DIR/pythonfmu-0.6.3/pythonfmu-0.6.3-py3-none-any.whl --no-deps --prefix=$PRODUCT_INSTALL + if [ $? -ne 0 ] + then + echo "FATAL: could not install pythonfmu-0.6.3" + 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" + # use --no-build-isolation and --no-use-pep517 flags + ${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 --no-build-isolation --no-use-pep517 + 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 + echo "INFO: check presence of $PRODUCT_INSTALL/local" + if [ -d "$PRODUCT_INSTALL/local" ]; then + echo "INFO: $PRODUCT_INSTALL/local is present - reearrange ..." + if [ -d ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ]; then + mv ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/site-packages + fi + for D in $(ls $PRODUCT_INSTALL/local); do + echo "INFO: next subdirectory: $PRODUCT_INSTALL/local/$D" + if [ -d $PRODUCT_INSTALL/$D ]; then + cp -r $PRODUCT_INSTALL/local/$D/* $PRODUCT_INSTALL/$D/ + else + mv $PRODUCT_INSTALL/local/$D $PRODUCT_INSTALL/$D + fi + done + rm -rf $PRODUCT_INSTALL/local + 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 dill-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]}/* . + # + if [ $k == "otpod" ]; then + ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip . --no-deps --prefix=$PRODUCT_INSTALL + if [ $? -ne 0 ]; then + echo "ERROR on ${PYTHONBIN} -m pip install --cache-dir=$BUILD_DIR/cache/pip . --no-deps --prefix=$PRODUCT_INSTALL" + exit 4 + fi + else + $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 + fi + echo "INFO: check presence of $PRODUCT_INSTALL/local" + if [ -d "$PRODUCT_INSTALL/local" ]; then + echo "INFO: $PRODUCT_INSTALL/local is present - reearrange ..." + if [ -d ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ]; then + mv ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/dist-packages ${PRODUCT_INSTALL}/local/lib/python${PYTHON_VERSION}/site-packages + fi + for D in $(ls $PRODUCT_INSTALL/local); do + echo "INFO: next subdirectory: $PRODUCT_INSTALL/local/$D" + if [ -d $PRODUCT_INSTALL/$D ]; then + cp -r $PRODUCT_INSTALL/local/$D/* $PRODUCT_INSTALL/$D/ + else + mv $PRODUCT_INSTALL/local/$D $PRODUCT_INSTALL/$D + fi + done + rm -rf $PRODUCT_INSTALL/local + fi + done + + # + # O P E N T U R N S + # + if [ -f ${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages/site.py ]; then + echo "INFO: site.py already installed" + elif [ "$SAT_Python_IS_NATIVE" == "1" ]; then + # check first whether the init.py file is installed + echo "WARNING: missing init.py file. Installing it from system Python installation" + SITE_PATCH= + LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION" + case $LINUX_DISTRIBUTION in + DB11) + SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py + ;; + DB10) + SITE_PATCH=/usr/lib/python3/dist-packages/setuptools/site-patch.py + ;; + UB22*) + SITE_PATCH=/usr/lib/pypy/dist-packages/setuptools/site-patch.py + ;; + UB20*) + SITE_PATCH=/usr/lib/python3/dist-packages/setuptools/site-patch.py + ;; + FD32) + SITE_PATCH=/usr/lib/python3.8/site-packages/setuptools/site-patch.py + ;; + FD34) + SITE_PATCH=$SOURCE_DIR/addons/site-patch.py + ;; + FD36) + SITE_PATCH=$SOURCE_DIR/addons/site-patch.py + ;; + FD37) + SITE_PATCH=$SOURCE_DIR/addons/site-patch.py + ;; + FD38) + 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.23.0 libOT.so.0.23 + ln -sf libOT.so.0.23 libOT.so.0 + ln -sf libOT.so.0 libOT.so +fi + +echo +echo "########## END" diff --git a/products/dill.pyconf b/products/dill.pyconf index 5845d2e..9604b34 100644 --- a/products/dill.pyconf +++ b/products/dill.pyconf @@ -3,13 +3,20 @@ default : name : "dill" build_source : "script" compil_script : $name + $VARS.scriptExtension + system_info : + { + rpm : ["python3-dill"] + rpm_dev : [] + apt : ["python3-dill"] + apt_dev : [] + } get_source : "archive" environ : { env_script : $name + ".py" } depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen'] - opt_depend: [] + opt_depend: [] patches : [] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name diff --git a/products/env_scripts/nlopt.py b/products/env_scripts/nlopt.py index fc95c33..4e98f17 100644 --- a/products/env_scripts/nlopt.py +++ b/products/env_scripts/nlopt.py @@ -13,4 +13,27 @@ def set_env(env, prereq_dir, version): env.prepend('PYTHONPATH', os.path.join(prereq_dir, 'lib', pyver, 'site-packages')) def set_nativ_env(env): - pass + prereq_dir='/usr' + prereq_bin='/usr/bin' + prereq_inc='/usr/include' + try: + import distro + if any(distribution in distro.name().lower() for distribution in ["rocky", "centos", "fedora"]) : + prereq_dir='/usr/' + prereq_bin='/usr/bin' + prereq_inc='/usr/include' + elif any(distribution in distro.name().lower() for distribution in ["debian", "ubuntu"]) : + prereq_dir='/usr' + prereq_inc='/usr/include' + except: + import platform + if any(distribution in platform.linux_distribution()[0].lower() for distribution in ["rocky", "centos", "fedora"]) : + prereq_dir='/usr' + prereq_bin='/usr/bin' + prereq_inc='/usr/include' + + env.set('NLOPT_ROOT_DIR', prereq_dir) + env.set('NLOPT_INCLUDE_DIR', prereq_inc) + if prereq_bin != "/usr/bin": + env.prepend('PATH', prereq_bin) + env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir,'lib')) diff --git a/products/gdal.pyconf b/products/gdal.pyconf index 0a47291..53049d2 100644 --- a/products/gdal.pyconf +++ b/products/gdal.pyconf @@ -56,6 +56,15 @@ version_2_4_0_FD32: } version_2_4_0_CO8: +{ + compil_script : 'gdal-2.4.0.sh' + patches : ["gdal.0001-r2000.patch", + "gdal.0002-GNUmakefile-tooLongLine.patch", + "gdal.0003-ignore_use2to3.patch" + ] +} + +version_2_4_0_CO8_native: { compil_script : 'gdal-2.4.0.sh' patches : ["gdal.0001-r2000.patch", diff --git a/products/nlopt.pyconf b/products/nlopt.pyconf index eb3ac1b..3567784 100644 --- a/products/nlopt.pyconf +++ b/products/nlopt.pyconf @@ -4,6 +4,13 @@ default : build_source : "script" compil_script : $name + $VARS.scriptExtension get_source : "archive" + system_info : + { + rpm : ["NLopt"] + rpm_dev : ["NLopt-devel"] + apt : ["libnlopt0","libnlopt-cxx0"] + apt_dev : ["libnlopt-dev","libnlopt-cxx-dev" ] + } environ : { env_script : $name + ".py" diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 5bd80e9..2e27bc8 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -36,6 +36,54 @@ default_win : opt_depend : [] } +version_1_22 : +{ + compil_script : "openturns-1.22.sh" + patches : [] + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI', 'boost'] + opt_depend : ['pandas', 'statsmodels', 'patsy'] +} + +version_1_22_CO7 : +{ + compil_script : "openturns-1.22.sh" + patches : ['openturns-1.22.0001.patch'] + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI', 'boost'] + opt_depend : ['pandas', 'statsmodels', 'patsy'] +} + +version_1_22_CO8 : +{ + compil_script : "openturns-1.22.sh" + patches : ['openturns-1.22.0001.patch'] + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI', 'boost'] + opt_depend : ['pandas', 'statsmodels', 'patsy'] +} + +version_1_22_DB09 : +{ + compil_script : "openturns-1.22.sh" + patches : ['openturns-1.22.0001.patch'] + depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'cminpack', 'FMILibrary', 'PyFMI', 'boost'] + opt_depend : ['pandas', 'statsmodels', 'patsy'] +} + +version_1_22_win : +{ + name : "OT" + compil_script : "openturns-1.22.bat" + source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + 'openturns' + build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name + depend : ['Python', 'openblas', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib', 'fftw'] + opt_depend : ['pandas', 'statsmodels', 'patsy'] + patches : [] + properties : + { + single_install_dir : "no" + incremental : "yes" + } +} + version_1_21 : { compil_script : "openturns-1.21.sh" diff --git a/products/patches/PERSALYS-f386013d-001.patch b/products/patches/PERSALYS-f386013d-001.patch new file mode 100644 index 0000000..86b3d72 --- /dev/null +++ b/products/patches/PERSALYS-f386013d-001.patch @@ -0,0 +1,11 @@ +--- PERSALYS-f386013d_ref/CMakeLists.txt 2024-04-03 13:36:52.000000000 +0200 ++++ PERSALYS-f386013d_new/CMakeLists.txt 2024-04-10 13:10:40.000000000 +0200 +@@ -64,7 +64,7 @@ + set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") + endif () + +-find_package (Boost COMPONENTS locale program_options REQUIRED) ++find_package (Boost COMPONENTS locale filesystem program_options REQUIRED) + list (APPEND PERSALYS_PRIVATE_LIBRARIES ${Boost_LIBRARIES}) + + find_package (Python 3.5 COMPONENTS Interpreter Development REQUIRED) diff --git a/products/patches/PERSALYS-f386013d-002.patch b/products/patches/PERSALYS-f386013d-002.patch new file mode 100644 index 0000000..d3f90fa --- /dev/null +++ b/products/patches/PERSALYS-f386013d-002.patch @@ -0,0 +1,22 @@ +--- PERSALYS-f386013d_ref/lib/src/base/CMakeLists.txt 2024-04-03 13:36:53.000000000 +0200 ++++ PERSALYS-f386013d_new/lib/src/base/CMakeLists.txt 2024-04-10 01:05:14.000000000 +0200 +@@ -204,6 +204,7 @@ + target_compile_definitions (persalysbase PUBLIC PERSALYS_BASE_STATIC) + endif () + ++target_compile_options(persalysbase PUBLIC -DBOOST_ALL_DYN_LINK) + target_include_directories (persalysbase PRIVATE ${Boost_INCLUDE_DIRS}) + target_include_directories (persalysbase PRIVATE ${Python_INCLUDE_DIRS}) + +@@ -225,9 +226,8 @@ + target_link_libraries (persalysbase PRIVATE stdc++fs) + endif () + +-target_link_libraries (persalysbase PUBLIC ${PERSALYS_PUBLIC_LIBRARIES}) +-target_link_libraries (persalysbase PRIVATE ${PERSALYS_PRIVATE_LIBRARIES}) +- ++target_link_libraries (persalysbase PUBLIC "${PERSALYS_PUBLIC_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") ++target_link_libraries (persalysbase PRIVATE "${PERSALYS_PRIVATE_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") + install (TARGETS persalysbase + RUNTIME DESTINATION ${PERSALYS_BIN_PATH} + LIBRARY DESTINATION ${PERSALYS_LIBRARY_PATH} diff --git a/products/patches/PERSALYS-f386013d-003.patch b/products/patches/PERSALYS-f386013d-003.patch new file mode 100644 index 0000000..35d270d --- /dev/null +++ b/products/patches/PERSALYS-f386013d-003.patch @@ -0,0 +1,14 @@ +--- PERSALYS-f386013d_ref/main/CMakeLists.txt 2024-04-03 13:36:53.000000000 +0200 ++++ PERSALYS-f386013d_new/main/CMakeLists.txt 2024-04-10 14:54:37.739055374 +0200 +@@ -39,7 +39,10 @@ + + if (WIN32) + add_executable (persalys_launcher launcher.cxx) +- target_link_libraries (persalys_launcher PRIVATE Boost::program_options ws2_32) ++ target_compile_options(persalys_launcher PUBLIC -DBOOST_ALL_DYN_LINK) ++ target_link_libraries (persalys_launcher PUBLIC Boost::program_options ws2_32 "${PERSALYS_PRIVATE_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") ++ target_link_libraries (persalys_launcher PRIVATE Boost::program_options ws2_32 "${PERSALYS_PRIVATE_LIBRARIES};${Boost_LIBRARIES};${Boost_FILESYSTEM_LIBRARY_RELEASE}") ++ + set_target_properties (persalys_launcher PROPERTIES UNITY_BUILD OFF) + install (TARGETS persalys_launcher DESTINATION bin) + endif () diff --git a/products/patches/PERSALYS-f386013d-004.patch b/products/patches/PERSALYS-f386013d-004.patch new file mode 100644 index 0000000..826310a --- /dev/null +++ b/products/patches/PERSALYS-f386013d-004.patch @@ -0,0 +1,18 @@ +--- PERSALYS-f386013d_ref/main/launcher.cxx 2024-04-03 13:36:53.000000000 +0200 ++++ PERSALYS-f386013d_new/main/launcher.cxx 2024-04-10 14:58:17.794900118 +0200 +@@ -22,13 +22,12 @@ + #define BOOST_PROCESS_USE_STD_FS + #include + #include +- +-#include ++#include + #include + #include + + namespace po = boost::program_options; +-namespace fs = std::filesystem; ++namespace fs = std::experimental::filesystem; + namespace bp = boost::process; + + int main(int argc, char *argv[]) diff --git a/products/patches/openturns-1.22.0001.patch b/products/patches/openturns-1.22.0001.patch new file mode 100644 index 0000000..087c47a --- /dev/null +++ b/products/patches/openturns-1.22.0001.patch @@ -0,0 +1,14 @@ +diff -Naur -Naur openturns/openturns-1.22/CMakeLists.txt openturns_dev/openturns-1.22/CMakeLists.txt +--- openturns/openturns-1.22/CMakeLists.txt 2024-04-03 11:52:49.000000000 +0000 ++++ openturns_dev/openturns-1.22/CMakeLists.txt 2024-04-05 08:17:28.143471039 +0000 +@@ -129,6 +129,10 @@ + find_package (LAPACK REQUIRED) + 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) diff --git a/products/salome_system.pyconf b/products/salome_system.pyconf index 1a33d89..5becdb9 100644 --- a/products/salome_system.pyconf +++ b/products/salome_system.pyconf @@ -36,33 +36,34 @@ default : # specific to some platform(s) "CO7" : { - rpm : ["lz4", "gsl", "libgeotiff", "giflib", "geos", "fftw", "postgresql-libs", "pcllib"] - rpm_dev : ["perl", "gsl-devel", "libpng-devel", "libtiff-devel", "libgeotiff-devel", "giflib-devel", "geos-devel", "fftw-devel", "devtoolset-8-gcc", "texlive-dvipng"] + rpm : ["lz4", "gsl", "libgeotiff", "giflib", "geos", "fftw", "postgresql-libs", "pcllib", "libxml++"] + rpm_dev : ["perl", "gsl-devel", "libpng-devel", "libtiff-devel", "libgeotiff-devel", "giflib-devel", "geos-devel", "fftw-devel", "devtoolset-8-gcc", "texlive-dvipng", "libxml++-devel"] } "CO8" : { - rpm : ["lz4", "openmpi", "gsl", "libgeotiff", "giflib", "geos", "sqlite", "netcdf"] - rpm_dev : ["perl-interpreter", "qt5-devel", "openmpi-devel", "gsl-devel", "libpng-devel", "libtiff-devel", "libgeotiff-devel", "giflib-devel", "geos-devel", "netcdf-devel", "texlive-dvipng"] + rpm : ["lz4", "openmpi", "gsl", "libgeotiff", "giflib", "geos", "sqlite", "netcdf", "libxml++"] + rpm_dev : ["perl-interpreter", "qt5-devel", "openmpi-devel", "gsl-devel", "libpng-devel", "libtiff-devel", "libgeotiff-devel", "giflib-devel", "geos-devel", "netcdf-devel", "texlive-dvipng", + "libxml++-devel"] } "FD30" : { - rpm : ["lz4", "gsl"] - rpm_dev : ["perl-interpreter", "qt5-devel", "gsl-devel", "texlive-dvipng"] + rpm : ["lz4", "gsl", "libxml++"] + rpm_dev : ["perl-interpreter", "qt5-devel", "gsl-devel", "texlive-dvipng", "libxml++-devel"] } "FD32" : { - rpm : ["lz4", "gsl", "openmpi", "netcdf", "gdal"] - rpm_dev : ["perl-interpreter", "qt5-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "protobuf-devel", "python3-protobuf", "texlive-dvipng"] + rpm : ["lz4", "gsl", "openmpi", "netcdf", "gdal", "libxml++"] + rpm_dev : ["perl-interpreter", "qt5-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "protobuf-devel", "python3-protobuf", "texlive-dvipng", "libxml++-devel"] } "FD34" : { - rpm : ["lz4-libs", "gsl", "openmpi", "netcdf", "gdal"] - rpm_dev : ["lz4-devel", "qt5-qtbase-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "gdal-devel", "texlive-dvipng"] + rpm : ["lz4-libs", "gsl", "openmpi", "netcdf", "gdal", "libxml++"] + rpm_dev : ["lz4-devel", "qt5-qtbase-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "gdal-devel", "texlive-dvipng", "libxml++-devel"] } "FD36" : { - rpm : ["lz4-libs", "gsl", "openmpi", "netcdf", "gdal"] - rpm_dev : ["lz4-devel", "qt5-qtbase-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "gdal-devel"] + rpm : ["lz4-libs", "gsl", "openmpi", "netcdf", "gdal", "libxml++"] + rpm_dev : ["lz4-devel", "qt5-qtbase-devel", "gsl-devel", "openmpi-devel", "netcdf-devel", "gdal-devel", "libxml++-devel"] } "DB08" : { @@ -79,19 +80,31 @@ default : { apt : ["libdc1394-22", "libopenexr23", "libwebp6", "libgfortran5", "libilmbase23", "libevent-2.1-6", "libpng16-16", "libgcc-8-dev", "libffi6", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "libjsoncpp1", "libopenblas-base", "libscotch-6.0", "openmpi-bin", - "libnetcdf13", "libgdal20", "libtbb2"] + "libnetcdf13", "libgdal20", "libtbb2", "libxml++2.6-2v5"] apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", "qttools5-dev", "libqt5svg5-dev", "libqt5x11extras5-dev", "qtxmlpatterns5-dev-tools", "libopenmpi-dev", - "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libnetcdf-dev", "libgdal-dev", "texlive-latex-base", "texlive-latex-extra", "dvipng"] + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libnetcdf-dev", "libgdal-dev", + "texlive-latex-base", "texlive-latex-extra", "dvipng", "libxml++2.6-dev"] } "DB11" : { apt : ["libdc1394-25", "libopenexr25", "libwebp6", "libgfortran5", "libilmbase25", "libevent-2.1-7", "libpng16-16", "libgcc-10-dev", "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "libjsoncpp24", - "openmpi-bin", "libnetcdf18", "libgdal28", "libtbb2", "pypy-setuptools"] + "openmpi-bin", "libnetcdf18", "libgdal28", "libtbb2", "pypy-setuptools", "libxml++2.6-2v5"] apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", "qttools5-dev", "libqt5svg5-dev", "libqt5x11extras5-dev", "qtxmlpatterns5-dev-tools", "libopenmpi-dev", - "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libnetcdf-dev", "libgdal-dev", "texlive-latex-base", "texlive-latex-extra", "dvipng"] + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libnetcdf-dev", "libgdal-dev", + "texlive-latex-base", "texlive-latex-extra", "dvipng", "libxml++2.6-dev"] + } + "DB12" : + { + apt : ["libdc1394-25", "libopenexr-3-1-30", "libwebp6", "libgfortran5", "libevent-2.1-7", "libpng16-16", "libgcc", + "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "libjsoncpp25", + "openmpi-bin", "libnetcdf19", "libgdal32", "libtbb12", "python3-setuptools", "libxml++2.6-2v5"] + apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", + "qttools5-dev", "libqt5svg5-dev", "libqt5x11extras5-dev", "qtxmlpatterns5-dev-tools", "libopenmpi-dev", + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libnetcdf-dev", "libgdal-dev", + "texlive-latex-base", "texlive-latex-extra", "dvipng", "libxml++2.6-dev"] } "UB16.04" : { @@ -102,25 +115,27 @@ default : "UB18.04" : { apt : ["libdc1394-22", "libopenexr22", "libwebp6", "libgfortran4", "libilmbase12", "libevent-2.1-6", "libpng16-16", "libgcc-7-dev", - "libffi6", "libtinfo5", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "libopenblas-base", "libgeos-c1v5", "libtbb2"] + "libffi6", "libtinfo5", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "libopenblas-base", "libgeos-c1v5", "libtbb2", "libxml++2.6"] apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", - "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "dvipng"] + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "dvipng", "libxml++2.6-dev"] } "UB20.04" : { apt : ["libdc1394-22", "libopenexr24", "libwebp6", "libgfortran5", "libilmbase24", "libevent-2.1-7", "libpng16-16", "libgcc-9-dev", - "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "openmpi-bin", "libgdal26", "libopenblas0-serial", "libtbb2"] + "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "openmpi-bin", "libgdal26", "libopenblas0-serial", "libtbb2", + "libxml++2.6-2v5"] apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", "qttools5-dev", "libqt5svg5-dev", "libqt5x11extras5-dev", "qtxmlpatterns5-dev-tools", "libopenmpi-dev", - "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libgdal-dev", "dvipng"] + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libgdal-dev", "dvipng", "libxml++2.6-dev"] } "UB22.04" : { apt : ["libdc1394-25", "libopenexr25", "libwebp7", "gfortran-11", "libilmbase25", "libevent-2.1-7", "libpng16-16", "libgcc-11-dev", - "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "openmpi-bin", "libgdal30", "libopenblas0-serial", "libtbb12"] + "libffi7", "libtinfo6", "libgphoto2-port12", "libglx0", "libopengl0", "libzstd1", "libglvnd0", "openmpi-bin", "libgdal30", "libopenblas0-serial", "libtbb12", + "libxml++2.6-2v5"] apt_dev : ["libtbb-dev", "cython3", "libfftw3-dev", "libopenblas-dev", "qttools5-dev", "libqt5svg5-dev", "libqt5x11extras5-dev", "qtxmlpatterns5-dev-tools", "libopenmpi-dev", - "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libgdal-dev", "dvipng"] + "libpng-dev", "libtiff5-dev", "libgeotiff-dev", "libjpeg-dev", "libgif-dev", "libgeos-dev", "libsqlite3-dev", "libgdal-dev", "dvipng", "libxml++2.6-dev"] } } -- 2.30.2