From b71e0e6fcc2ece1beb86259866865ca9ad4cd772 Mon Sep 17 00:00:00 2001 From: Nabil Ghodbane Date: Fri, 12 Apr 2024 12:57:38 +0200 Subject: [PATCH] bos #41189 - support embedded Python 3.9 for both Linux and Windows --- applications/SALOME-master.pyconf | 249 +++++++++++++++++---- products/ParaView.pyconf | 3 +- products/compil_scripts/openturns-1.21.bat | 79 ++++--- products/openturns.pyconf | 2 +- 4 files changed, 262 insertions(+), 71 deletions(-) diff --git a/applications/SALOME-master.pyconf b/applications/SALOME-master.pyconf index ee9a199..535654f 100644 --- a/applications/SALOME-master.pyconf +++ b/applications/SALOME-master.pyconf @@ -3,16 +3,17 @@ APPLICATION : { - name : 'SALOME-master' - workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist - tag : 'master' - dev : 'no' - verbose :'no' - debug : 'no' - base : 'no' - python3 : 'yes' + name : 'SALOME-master' + workdir : $LOCAL.workdir + $VARS.sep + $APPLICATION.name + '-' + $VARS.dist + tag : 'master' + dev : 'no' + verbose : 'no' + debug : 'no' + base : 'no' + python3 : 'yes' + pyver : '3.9' platform : ['CO7', 'CO8', 'DB09'] - environ : + environ : { build : { @@ -36,7 +37,7 @@ APPLICATION : { # PREREQUISITES : alabaster : '0.7.6' - Babel : '2.7.0' + Babel : '2.14.0' boost : '1.71.0' CAS : {tag : 'V7_5_3p5', section: 'version_CR753_SALOME_PATCH', base: 'no'} catalyst: '2.0' @@ -44,19 +45,22 @@ APPLICATION : certifi : '2018.8.24' cgns : '4.2.0' chardet : '3.0.4' + charset_normalizer : '3.3.2' click : '6.7' cmake : '3.25.2' cminpack: '1.3.6' + contourpy : '1.2.0' cppunit : '1.13.2' cycler : '0.10.0' - Cython : '0.29.12' - dateutil : '2.6.1' - docutils : '0.12' + Cython : '0.29.37' + dateutil : '2.7.3' + docutils : '0.20.1' doxygen : '1.8.14' eigen : '3.3.4' embree : '3.12.2' FMILibrary : '2.0.3' fftw : {tag : '3.3.10', section: 'version_3_3_10', base: 'no'} + fonttools : '4.48.1' freeimage : '3.16.0' freetype : '2.9.1' gcc : '8.5.0' @@ -68,19 +72,21 @@ APPLICATION : graphviz : '2.38.0' hdf5 : '1.10.3' idna : '2.7' - imagesize : '1.0.0' + imagesize : '1.4.1' + importlib_metadata : '7.0.1' + importlib_resources: '6.1.1' ispc : '1.15.0' - Jinja2 : '2.7.3' - kiwisolver : '1.0.1' + Jinja2 : '3.1.3' + kiwisolver : '1.3.1' lapack : '3.8.0' - libxml2 : '2.9.1' + libxml2 : '2.9.12' llvm : '8.0.1-clang' - markupsafe : '0.23' - matplotlib : '3.3.4' + markupsafe : '2.1.5' + matplotlib : '3.8.2' medfile : '4.1.1' mesa : '19.0.8' MeshGems : '2.15-1' - mpi4py: '3.0.3' + mpi4py: {tag: '3.1.0', base: 'no', section : 'version_3_1_0_no_pip'} metis : '5.1.0' netgen : '5.3.1_with_CAS_7.2' # comment out line above and uncomment the line below to use Netgen 6. @@ -88,8 +94,8 @@ APPLICATION : netcdf : '4.6.2' nlopt : '2.5.0' nose: '1.3.7' - numpy : '1.16.4' - numpydoc : '0.9.0' + numpy : '1.21.1' + numpydoc : '1.6.0' omniORB : '4.2.5' omniORBpy : '4.2.5' opencv : '3.2.0' @@ -97,48 +103,58 @@ APPLICATION : openturns: '1.21' openVKL: '0.11.0' ospray : '2.4.0' - packaging : '17.1' + packaging : '23.2' packagespy : '74152cd' - pandas : '0.25.2' - patsy : '0.5.2' + 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' petsc : {tag : '3.16.0', base: 'no', section: 'version_3_16_0', hpc: 'yes'} Pillow : '8.4.0' planegcs : '0.18-3cb6890' - psutil : '5.7.2' + psutil : '5.9.8' PyFMI : {tag: '2.6', base: 'no', section: 'version_2_6_no_pip'} - Pygments : '2.0.2' - pyparsing : '2.0.3' + Pygments : '2.17.2' + pyparsing : '3.1.1' PyQt : '5.15.3' pyreadline : '2.0' - Python : '3.6.5' + Python : '3.9.14' pytz : '2017.2' qt : '5.12.10' qwt : '6.1.2' - requests : '2.19.1' + requests : '2.31.0' rkCommon : '1.5.1' root: '6.22.02' salome_system : 'native' - scipy : '1.4.1' + scipy : '1.6.2' scotch : {tag: '6.1.2', section: 'version_6_1_2_MPI', hpc: 'yes', base: 'no'} - setuptools : '38.4.0' + setuptools : '69.0.3' sip : '5.5.0' six : '1.10.0' - snowballstemmer : '1.2.1' - Sphinx : '1.7.6' - sphinxcontrib_websupport : '1.1.0' - sphinx_rtd_theme : '0.4.3' - sphinxintl: '0.9.10' - statsmodels: '0.8.0' + snowballstemmer : '2.2.0' + Sphinx : '7.2.6' + sphinxcontrib_applehelp : '1.0.8' + sphinxcontrib_devhelp : '1.0.6' + sphinxcontrib_jsmath : '1.0.1' + sphinxcontrib_jquery : '4.1' + sphinxcontrib_qthelp : '1.0.7' + sphinxcontrib_htmlhelp : '2.0.5' + sphinxcontrib_serializinghtml : '1.1.10' + sphinxcontrib_websupport : '1.2.7' + sphinx_rtd_theme : '2.0.0' + sphinxintl: '2.1.0' + statsmodels: '0.14.1' swig : '4.0.2' + tabulate : '0.9.0' tbb : '2019_U8' tcl : '8.6.0' tk : '8.6.0' toml: '0.10.2' + tomli : '2.0.1' TTK : 'f8dafde2d7' urllib3 : '1.23' zeromq: '4.3.1' + zipp : '3.17.0' URANIE : '4.7.0' # SALOME MODULES : @@ -209,6 +225,157 @@ APPLICATION : } __overwrite__ : [ + { + __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'gcc', 'gmp', 'mpc', 'mpfr', + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'tabulate', + 'tomli', + 'zipp', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' + 'APPLICATION.products.sphinxintl' : '0.9.10' + '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' } + } + + { + __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'gcc', 'gmp', 'mpc', 'mpfr','zeromq', + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.Sphinx' : '1.7.6' + 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' + 'APPLICATION.products.sphinx_rtd_theme' : '0.4.3' + 'APPLICATION.products.sphinxintl' : '0.9.10' + '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' } + } + + { + __condition__ : "VARS.dist in ['DB09'] and APPLICATION.pyver == '3.6'" + 'APPLICATION.rm_products' : [ + 'charset_normalizer', + 'contourpy', + 'fonttools', + 'importlib_metadata', + 'importlib_resources', + 'sphinxcontrib_applehelp', + 'sphinxcontrib_devhelp', + 'sphinxcontrib_jsmath', + 'sphinxcontrib_jquery', + 'sphinxcontrib_qthelp', + 'sphinxcontrib_htmlhelp', + 'sphinxcontrib_serializinghtml' + ] + 'APPLICATION.products.Babel' : '2.7.0' + 'APPLICATION.products.Cython': '0.29.12' + 'APPLICATION.products.dateutil' : '2.6.1' + 'APPLICATION.products.docutils' : '0.12' + 'APPLICATION.products.imagesize' : '1.0.0' + 'APPLICATION.products.Jinja2' : '2.7.3' + 'APPLICATION.products.kiwisolver' : '1.0.1' + 'APPLICATION.products.libxml2' : '2.9.1' + 'APPLICATION.products.markupsafe' : '0.23' + 'APPLICATION.products.matplotlib' : '3.3.4' + 'APPLICATION.products.mpi4py' : '3.0.3' + 'APPLICATION.products.numpy' : '1.16.4' + 'APPLICATION.products.numpydoc' : '0.9.0' + 'APPLICATION.products.packaging' : '17.1' + 'APPLICATION.products.pandas' : '0.25.2' + 'APPLICATION.products.patsy' : '0.5.2' + 'APPLICATION.products.psutil' : '5.7.2' + 'APPLICATION.products.Pygments' : '2.0.2' + 'APPLICATION.products.pyparsing' : '2.0.3' + 'APPLICATION.products.Python' : '3.6.5' + 'APPLICATION.products.requests' : '2.19.1' + 'APPLICATION.products.scipy' : '1.4.1' + 'APPLICATION.products.setuptools' : '38.4.0' + 'APPLICATION.products.snowballstemmer' : '1.2.1' + 'APPLICATION.products.Sphinx' : '1.7.6' + 'APPLICATION.products.sphinxcontrib_websupport' : '1.1.0' + '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'} + } { __condition__ : "VARS.dist in ['FD30']" 'APPLICATION.products.gcc' : '9.3.0' @@ -221,12 +388,12 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_FD32'} # spns #29324 } { - __condition__ : "VARS.dist in ['CO7']" + __condition__ : "VARS.dist in ['CO7'] and APPLICATION.pyver != '3.6'" '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']" + __condition__ : "VARS.dist in ['CO8'] and APPLICATION.pyver != '3.6'" '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'} @@ -238,7 +405,7 @@ __overwrite__ : 'APPLICATION.products.gdal': {tag:'2.4.0', base: 'no', section: 'version_2_4_0_DB10'} # spns #29324 } { - __condition__ : "VARS.dist in ['DB09']" + __condition__ : "VARS.dist in ['DB09'] and APPLICATION.pyver != '3.6'" 'APPLICATION.products.openturns' : {tag: '1.21', base: 'no', section: 'version_1_21_DB09' } } { diff --git a/products/ParaView.pyconf b/products/ParaView.pyconf index 4d601df..3f8ac9d 100755 --- a/products/ParaView.pyconf +++ b/products/ParaView.pyconf @@ -323,7 +323,8 @@ version_5_11_0_win : 'paraview-5.11.0.p002-FindMPI.patch', 'paraview-5.11.0.p004-vtkUniformHyperTreeGrid.patch', 'paraview-5.11.0.p006-GIL.patch', - 'paraview-5.11.0.p009-openturns-1.21.patch' + 'paraview-5.11.0.p009-openturns-1.21.patch', + 'paraview-5.11.0.p0011-add_dll_directory.patch' ] } diff --git a/products/compil_scripts/openturns-1.21.bat b/products/compil_scripts/openturns-1.21.bat index 6887784..0df4539 100644 --- a/products/compil_scripts/openturns-1.21.bat +++ b/products/compil_scripts/openturns-1.21.bat @@ -19,9 +19,6 @@ if %SAT_DEBUG% == 1 ( ) 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 clean BUILD directory if exist "%BUILD_DIR%" rmdir /Q /S %BUILD_DIR% @@ -180,40 +177,20 @@ echo ########################################################################## SET CMAKE_MODULE_OPTIONS=%CMAKE_OPTIONS% -DBUILD_DOC=OFF CALL:MODULE_BUILDER otsvm "%SOURCE_DIR%\otsvm-0.12" "%BUILD_DIR%\otsvm" "%PRODUCT_INSTALL%" "%CMAKE_MODULE_OPTIONS%" -echo ########################################################################## -echo otfmi 0.15 -echo ########################################################################## -cd %BUILD_DIR% -mkdir otfmi - -set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% -cd %BUILD_DIR%\otfmi -xcopy %SOURCE_DIR%\otfmi-0.15\* %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 ########################################################################## -echo scikit-learn 0.24.2 +echo dill 5.1.0 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 +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% scikit-learn-0.24.2.tar.gz --no-deps --no-use-pep517 +%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 @@ -276,6 +253,52 @@ if NOT %ERRORLEVEL% == 0 ( 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 otfmi 0.15 +echo ########################################################################## +cd %BUILD_DIR% +mkdir otfmi + +set CMAKE_OPTIONS_EXT=%CMAKE_OPTIONS% +cd %BUILD_DIR%\otfmi +xcopy %SOURCE_DIR%\otfmi-0.15\* %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 ########################################################################## diff --git a/products/openturns.pyconf b/products/openturns.pyconf index 20b8944..3077e63 100644 --- a/products/openturns.pyconf +++ b/products/openturns.pyconf @@ -10,7 +10,7 @@ default : } depend : ['Python', 'lapack', 'hdf5', 'tbb', 'nlopt', 'libxml2', 'eigen', 'matplotlib'] build_depend : ["cmake", "swig"] - opt_depend : ['openmpi'] + opt_depend : ['openmpi','psutil','numpy','scipy','statsmodels'] patches : [] source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name -- 2.39.2