Page 1 of 1

[SATURNE-9.1.0] Compilation with MEDCoupling 9.15.0

Posted: Tue Mar 03, 2026 10:33 am
by Goaty
Hello! :D

The users of the cluster I administer need to have version 9.1.0 of Saturn with MEDCoupling.
MEDCoupling was not installed long ago, so I am only referring to the following documentation to try to get everything working: https://github.com/SalomePlatform/medcoupling & https://github.com/code-saturne/code_sa ... INSTALL.md

I am using RedHat 8.8 on x86_64, with the system's GNU compilers (8.5.0) and the following modules:

Code: Select all

(py310_condaforge) [toto@cluster-node107 build]$ module li
Currently Loaded Modulefiles:
 1) cmake/3.29.3   2) conda3   3) ucx/1.15.0   4) openmpi/4.0.3(default)
(py310_condaforge) [toto@cluster-node107 build]$ python --version
Python 3.10.4
After installing the CGNS, HDF5, MED, and SCOTCH prerequisites via the “install_saturne.py” script provided by Saturne, here are the arguments passed to “configure” for the installation of MEDCoupling that I have included (Here: “https://github.com/code-saturne/code_sa ... INSTALL.md”):

Code: Select all

(py310_condaforge) [toto@cluster-node107 build]$ export INSTALL_PATH=/soft/saturne/9.1.0-openmpi-403/medcoupling-9.15.0/arch/Linux_x86_64
(py310_condaforge) [toto@cluster-node107 build]$ export CONFIGURATION_SRC_PATH=/dev/shm/neptune-med/medcoupling/configuration
(py310_condaforge) [toto@cluster-node107 build]$ export MED_INSTALL_PATH=/soft/saturne/9.1.0-openmpi-403/med-5.0.0/arch/Linux_x86_64
(py310_condaforge) [toto@cluster-node107 build]$ #export MED_INSTALL_PATH=/soft/saturne/9.1.0-openmpi-403/med-5.0.0-reconfigured/arch/Linux_x86_64/
(py310_condaforge) [toto@cluster-node107 build]$ export HDF5_INSTALL_PATH=/soft/saturne/9.1.0-openmpi-403/hdf5-1.12.3/arch/Linux_x86_64
(py310_condaforge) [toto@cluster-node107 build]$ export MEDCOUPLING_SRC_PATH=/dev/shm/neptune-med/medcoupling/medcoupling/
(py310_condaforge) [toto@cluster-node107 build]$ cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} \
> -DCONFIGURATION_ROOT_DIR=${CONFIGURATION_SRC_PATH} \
> -DMEDCOUPLING_BUILD_DOC=OFF \
> -DMEDCOUPLING_BUILD_TESTS=OFF \
> -DMEDCOUPLING_ENABLE_PARTITIONER=OFF \
> -DMEDCOUPLING_ENABLE_RENUMBER=OFF \
> -DMEDCOUPLING_USE_MPI=ON \
> -DMEDFILE_ROOT_DIR=${MED_INSTALL_PATH} \
> -DHDF5_ROOT_DIR=${HDF5_INSTALL_PATH} \
> -DHDF5_INCLUDE_DIR=${HDF5_INSTALL_PATH}include \
> ${MEDCOUPLING_SRC_PATH}
CMake Deprecation Warning at CMakeLists.txt:21 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 8.5.0
-- The CXX compiler identification is GNU 8.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at CMakeLists.txt:33 (cmake_policy):
  The OLD behavior for policy CMP0078 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


CMake Deprecation Warning at CMakeLists.txt:36 (cmake_policy):
  The OLD behavior for policy CMP0086 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- Building MEDCOUPLING 9.15.0 from "V9_15_0-30-g1cda11c3"
-- Performing Test COMPILER_SUPPORTS_NO_OPERATOR_NAMES
-- Performing Test COMPILER_SUPPORTS_NO_OPERATOR_NAMES - Success
-- Setting C++ standard to 17
-- Found HDF5: /soft/saturne/9.1.0-openmpi-403/hdf5-1.12.3/arch/Linux_x86_64/lib/libhdf5.so;/usr/lib64/libz.so;/usr/lib64/libdl.so;/usr/lib64/libm.so (found version "1.12.3")
-- Check for medfile ...
-- MEDFile: size of med_int is 8
-- Check for XDR ...
-- Found XDR libraries /usr/lib64/libtirpc.so ...
-- Variable XDR_ROOT_DIR was not explicitly defined. An installation was found anyway: /usr/include
-- Variable MPI_ROOT_DIR was not explicitly defined. An installation was found anyway: /soft/openmpi/4.0.3
-- Looking for MPI_Publish_name
-- Looking for MPI_Publish_name - found
-- Your mpi implementation is compatible with mpi2 ... adding -DHAVE_MPI2
CMake Warning (dev) at /dev/shm/neptune-med/medcoupling/configuration/cmake/SalomeMacros.cmake:453 (FIND_PACKAGE):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  /dev/shm/neptune-med/medcoupling/configuration/cmake/SalomeMacros.cmake:557 (SALOME_FIND_PACKAGE)
  /dev/shm/neptune-med/medcoupling/configuration/cmake/FindSalomePythonInterp.cmake:44 (SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS)
  CMakeLists.txt:316 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Variable PYTHONINTERP_ROOT_DIR was not explicitly defined. An installation was found anyway: /soft/conda3/envs/py310_condaforge/bin
CMake Warning (dev) at /dev/shm/neptune-med/medcoupling/configuration/cmake/SalomeMacros.cmake:453 (FIND_PACKAGE):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

Call Stack (most recent call first):
  /dev/shm/neptune-med/medcoupling/configuration/cmake/SalomeMacros.cmake:557 (SALOME_FIND_PACKAGE)
  /dev/shm/neptune-med/medcoupling/configuration/cmake/FindSalomePythonLibs.cmake:56 (SALOME_FIND_PACKAGE_AND_DETECT_CONFLICTS)
  CMakeLists.txt:317 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Variable PYTHONLIBS_ROOT_DIR was not explicitly defined. An installation was found anyway: /soft/conda3/envs/py310_condaforge
-- Python libs and interpreter versions are matching: 3.10.4
-- NumPy found : /soft/conda3/envs/py310_condaforge/lib/python3.10/site-packages/numpy/core/include
-- Scipy found : Version 1.14.1
-- Variable SWIG_ROOT_DIR was not explicitly defined. An installation was found anyway: /usr
-- Using Python 3
--
--   Optional packages - Detection report
--   ====================================
--
--   * PythonInterp             ->  Found
--   * PythonLibs               ->  Found
--   * SWIG                     ->  Found
--
--
-- Creation of /dev/shm/neptune-med/medcoupling/build/MEDCoupling_version.h
-- BasicIterativeStatistics not found.
-- Found SWIG: /usr/bin/swig (found version "3.0.12")
-- Configuring done (3.2s)
-- Generating done (0.1s)
-- Build files have been written to: /dev/shm/neptune-med/medcoupling/build
Then :

Code: Select all

(py310_condaforge) [toto@cluster-node107 build]$ make -j
[  0%] Generating medcoup7to8.cpython-310.pyc, medcoup7to8.cpython-310.opt-1.pyc
[  2%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/TransformedTriangle.cxx.o
[  2%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/TransformedTriangleIntersect.cxx.o
[  4%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/TranslationRotationMatrix.cxx.o
[  4%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/BoundingBox.cxx.o
[  4%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/TetraAffineTransform.cxx.o
[  4%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/CellModel.cxx.o
[  5%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/CurveIntersectorInternal.cxx.o
[  6%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/OrientationInverter.cxx.o
[  6%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/TransformedTriangleMath.cxx.o
[  6%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/DiameterCalculator.cxx.o
[  7%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/UnitTetraIntersectionBary.cxx.o
[  7%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/InterpolationOptions.cxx.o
[  7%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/DirectedBoundingBox.cxx.o
[  8%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation2DCurve.cxx.o
[  9%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/BoxSplittingOptions.cxx.o
[  9%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation3DSurf.cxx.o
[ 10%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation3D.cxx.o
[ 10%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation2D3D.cxx.o
[ 11%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation3D1D.cxx.o
[ 11%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Interpolation1D0D.cxx.o
[ 12%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/MeshElement.cxx.o
[ 13%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/InterpKernelMeshQuality.cxx.o
[ 13%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/InterpKernelCellSimplify.cxx.o
[ 14%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/InterpKernelMatrixTools.cxx.o
[ 14%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/VolSurfUser.cxx.o
[ 15%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/SplitterTetra.cxx.o
[ 15%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Bases/InterpKernelException.cxx.o
[ 16%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DAbstractEdge.cxx.o
[ 16%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DBounds.cxx.o
[ 16%] Built target PYCOMPILEv8_work_0
[ 17%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DPrecision.cxx.o
[ 18%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DComposedEdge.cxx.o
[ 18%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DEdgeArcCircle.cxx.o
[ 19%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DEdge.cxx.o
[ 19%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DEdgeInfLin.cxx.o
[ 20%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DEdgeLin.cxx.o
[ 20%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DElementaryEdge.cxx.o
[ 21%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DNode.cxx.o
[ 21%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/Geometric2D/InterpKernelGeo2DQuadraticPolygon.cxx.o
[ 22%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/ExprEval/InterpKernelExprParser.cxx.o
[ 22%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/ExprEval/InterpKernelFunction.cxx.o
[ 23%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/ExprEval/InterpKernelUnit.cxx.o
[ 24%] Swig compile MEDCoupling.i for python
[ 25%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/ExprEval/InterpKernelValue.cxx.o
[ 25%] Swig compile MEDCouplingRemapper.i for python
[ 25%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/ExprEval/InterpKernelAsmX86.cxx.o
[ 25%] Swig compile medcoupling.i for python
[ 25%] Swig compile MEDLoader.i for python
[ 26%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/GaussPoints/InterpKernelGaussCoords.cxx.o
[ 27%] Swig compile ParaMEDMEM.i for python
[ 27%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/LinearAlgebra/InterpKernelDenseMatrix.cxx.o
[ 28%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/LinearAlgebra/InterpKernelLUDecomp.cxx.o
[ 28%] Building CXX object src/INTERP_KERNEL/CMakeFiles/interpkernel.dir/LinearAlgebra/InterpKernelQRDecomp.cxx.o
[ 29%] Linking CXX shared library libinterpkernel.so
[ 29%] Built target interpkernel
[ 30%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldDouble.cxx.o
[ 30%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingField.cxx.o
[ 31%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldInt32.cxx.o
[ 31%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldInt64.cxx.o
[ 32%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldFloat.cxx.o
[ 34%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingUMesh_intersection.cxx.o
[ 34%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingUMesh_internal.cxx.o
[ 34%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingUMesh.cxx.o
[ 34%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCoupling1GTUMesh.cxx.o
[ 35%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMemArray.cxx.o
[ 35%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMemArrayFloat.cxx.o
[ 36%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMemArrayChar.cxx.o
[ 37%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMap.cxx.o
[ 37%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingTraits.cxx.o
[ 38%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingTimeLabel.cxx.o
[ 38%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingCMesh.cxx.o
[ 39%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingIMesh.cxx.o
[ 39%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingCurveLinearMesh.cxx.o
[ 40%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingStructuredMesh.cxx.o
[ 40%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingTimeDiscretization.cxx.o
[ 41%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldDiscretization.cxx.o
[ 42%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldDiscretizationOnNodesFE.cxx.o
[ 42%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingRefCountObject.cxx.o
[ 43%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingPointSet.cxx.o
[ 43%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldTemplate.cxx.o
[ 44%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMappedExtrudedMesh.cxx.o
[ 44%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMesh.cxx.o
[ 45%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingGaussLocalization.cxx.o
[ 45%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingNatureOfField.cxx.o
[ 46%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMultiFields.cxx.o
[ 46%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingDefinitionTime.cxx.o
[ 47%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingFieldOverTime.cxx.o
[ 48%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingCartesianAMRMesh.cxx.o
[ 48%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingAMRAttribute.cxx.o
[ 49%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingMatrix.cxx.o
[ 49%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingPartDefinition.cxx.o
[ 50%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingSkyLineArray.cxx.o
[ 50%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingcpp.dir/MEDCouplingVoronoi.cxx.o
[ 50%] Built target MEDCoupling_swig_compilation
[ 50%] Built target MEDCouplingRemapper_swig_compilation
[ 50%] Built target ParaMEDMEM_swig_compilation
[ 50%] Built target MEDLoader_swig_compilation
[ 50%] Built target medcoupling_swig_compilation
[ 51%] Linking CXX shared library libmedcoupling.so
[ 51%] Built target medcouplingcpp
[ 51%] Building CXX object src/MEDCoupling/CMakeFiles/medcouplingremapper.dir/MEDCouplingRemapper.cxx.o
[ 51%] Building CXX object src/ICoCo/CMakeFiles/medicoco.dir/ICoCoField.cpp.o
[ 52%] Building CXX object src/MEDCoupling_Swig/CMakeFiles/_MEDCoupling.dir/CMakeFiles/_MEDCoupling.dir/MEDCouplingPYTHON_wrap.cxx.o
[ 53%] Building CXX object src/ICoCo/CMakeFiles/medicoco.dir/ICoCoMEDDoubleField.cxx.o
[ 54%] Building CXX object src/ICoCo/CMakeFiles/medicoco.dir/ICoCoMEDIntField.cxx.o
[ 55%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/CrackAlgo.cxx.o
[ 55%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDLoader.cxx.o
[ 56%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDLoaderTraits.cxx.o
[ 56%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDLoaderBase.cxx.o
[ 57%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileUtilities.cxx.o
[ 57%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileMesh.cxx.o
[ 58%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileMeshElt.cxx.o
[ 59%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileBasis.cxx.o
[ 59%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileMeshLL.cxx.o
[ 60%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileField.cxx.o
[ 60%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileFieldInternal.cxx.o
[ 61%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileFieldGlobs.cxx.o
[ 61%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileField1TS.cxx.o
[ 62%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileFieldMultiTS.cxx.o
[ 62%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileJoint.cxx.o
[ 63%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileEquivalence.cxx.o
[ 63%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileParameter.cxx.o
[ 64%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileData.cxx.o
[ 65%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileFieldOverView.cxx.o
[ 65%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileMeshReadSelector.cxx.o
[ 66%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileMeshSupport.cxx.o
[ 66%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileStructureElement.cxx.o
[ 67%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileEntities.cxx.o
[ 67%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDFileBlowStrEltUp.cxx.o
[ 68%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/SauvMedConvertor.cxx.o
[ 68%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/SauvReader.cxx.o
[ 69%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/SauvWriter.cxx.o
[ 70%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MEDMESHConverterUtilities.cxx.o
[ 70%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MeshFormatReader.cxx.o
[ 70%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/libmesh5.cxx.o
[ 71%] Building CXX object src/MEDLoader/CMakeFiles/medloader.dir/MeshFormatWriter.cxx.o
[ 71%] Linking CXX shared library libmedicoco.so
[ 71%] Built target medicoco
[ 72%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/BlockTopology.cxx.o
[ 72%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/CommInterface.cxx.o
[ 73%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ComponentTopology.cxx.o
[ 74%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/DEC.cxx.o
[ 74%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/DisjointDEC.cxx.o
[ 75%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/DisjointDECAbstract.cxx.o
[ 75%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ElementLocator.cxx.o
[ 76%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ExplicitCoincidentDEC.cxx.o
[ 76%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ExplicitMapping.cxx.o
[ 77%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ExplicitTopology.cxx.o
[ 77%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/InterpKernelDEC.cxx.o
[ 78%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/InterpolationMatrix.cxx.o
[ 79%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/LinearTimeInterpolator.cxx.o
[ 79%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/MPIProcessorGroup.cxx.o
[ 80%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ByStringMPIProcessorGroup.cxx.o
[ 80%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/MxN_Mapping.cxx.o
[ 81%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/OverlapDEC.cxx.o
[ 81%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/OverlapElementLocator.cxx.o
[ 82%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/OverlapInterpolationMatrix.cxx.o
[ 82%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/OverlapMapping.cxx.o
[ 83%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaDataArray.cxx.o
[ 83%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaFIELD.cxx.o
[ 84%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaGRID.cxx.o
[ 85%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaMESH.cxx.o
[ 85%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaSkyLineArray.cxx.o
[ 86%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ParaUMesh.cxx.o
[ 86%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/ProcessorGroup.cxx.o
[ 87%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/StructuredCoincidentDEC.cxx.o
[ 87%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/TimeInterpolator.cxx.o
[ 88%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/MPIAccess/MPIAccess.cxx.o
[ 88%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/MPIAccess/MPIAccessDEC.cxx.o
[ 89%] Building CXX object src/ParaMEDMEM/CMakeFiles/paramedmem.dir/CFEMDEC.cxx.o
In file included from /dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:23:
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx: In member function ‘void MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::writeDescription(med_idt, const MEDCoupling::MEDFileWritable&) const’:
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1282:26: error: ‘MEDfileObjectDescriptionWr’ was not declared in this scope
     MEDFILESAFECALLERWR0(MEDfileObjectDescriptionWr, (fid, MED_FIELD, keyDesc, desc));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:49:25: note: in definition of macro ‘MEDFILESAFECALLERWR0’
         med_err retCode(a b);                                                                                     \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1282:26: note: suggested alternative: ‘MEDfileObjectExist’
     MEDFILESAFECALLERWR0(MEDfileObjectDescriptionWr, (fid, MED_FIELD, keyDesc, desc));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:49:25: note: in definition of macro ‘MEDFILESAFECALLERWR0’
         med_err retCode(a b);                                                                                     \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx: In member function ‘void MEDCoupling::MEDFileAnyTypeField1TSWithoutSDA::readDescription(med_idt, const MEDCoupling::MEDFileWritable&)’:
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1291:26: error: ‘MEDfileObjectDescriptionExist’ was not declared in this scope
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionExist, (fid, MED_FIELD, keyDesc, &descriptionExist));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:35:25: note: in definition of macro ‘MEDFILESAFECALLER0’
         med_err retCode(a b);                                                                                 \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1291:5: note: in expansion of macro ‘MEDFILESAFECALLERRD0’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionExist, (fid, MED_FIELD, keyDesc, &descriptionExist));
     ^~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1291:26: note: suggested alternative: ‘MEDfileObjectExist’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionExist, (fid, MED_FIELD, keyDesc, &descriptionExist));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:35:25: note: in definition of macro ‘MEDFILESAFECALLER0’
         med_err retCode(a b);                                                                                 \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1291:5: note: in expansion of macro ‘MEDFILESAFECALLERRD0’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionExist, (fid, MED_FIELD, keyDesc, &descriptionExist));
     ^~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1295:26: error: ‘MEDfileObjectDescriptionRd’ was not declared in this scope
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionRd, (fid, MED_FIELD, keyDesc, desc));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:35:25: note: in definition of macro ‘MEDFILESAFECALLER0’
         med_err retCode(a b);                                                                                 \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1295:5: note: in expansion of macro ‘MEDFILESAFECALLERRD0’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionRd, (fid, MED_FIELD, keyDesc, desc));
     ^~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1295:26: note: suggested alternative: ‘MEDfileObjectsMountById’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionRd, (fid, MED_FIELD, keyDesc, desc));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileSafeCaller.txx:35:25: note: in definition of macro ‘MEDFILESAFECALLER0’
         med_err retCode(a b);                                                                                 \
                         ^
/dev/shm/neptune-med/medcoupling/medcoupling/src/MEDLoader/MEDFileField1TS.cxx:1295:5: note: in expansion of macro ‘MEDFILESAFECALLERRD0’
     MEDFILESAFECALLERRD0(MEDfileObjectDescriptionRd, (fid, MED_FIELD, keyDesc, desc));
     ^~~~~~~~~~~~~~~~~~~~
make[2]: *** [src/MEDLoader/CMakeFiles/medloader.dir/build.make:244: src/MEDLoader/CMakeFiles/medloader.dir/MEDFileField1TS.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:675: src/MEDLoader/CMakeFiles/medloader.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 90%] Linking CXX shared library libparamedmem.so
[ 90%] Built target paramedmem
[ 91%] Linking CXX shared library libmedcouplingremapper.so
[ 91%] Built target medcouplingremapper
[ 91%] Linking CXX shared module _MEDCoupling.so
[ 91%] Built target _MEDCoupling
make: *** [Makefile:146: all] Error 2
I tried recompiling version 5.0.0 of MED with “--enable-api23” and then MEDCoupling with “-DCMAKE_CXX_FLAGS=”-DMED_API_23," but nothing worked.

Have you ever encountered this error?
Which version of MED is recommended for which version of MEDCoupling for use with Saturn 9.1.0?

Furthermore, I see that in Saturn's “configure,” the MEDCoupling feature appears to be forcibly disabled, according to lines 12389 and 12390:

Code: Select all

 (py310_condaforge) [toto@cluster-node107 build]$ cat -b ../../saturne/code_saturne-9.1.0/configure |grep -i "cs_have_medcoupling="
 12389  cs_have_medcoupling=no
 12390  cs_have_medcoupling_loader=no
Is this a hidden message to tell us to not use MEDCoupling ?

Don't hesitate to tell me if you need more informations :)

Re: [SATURNE-9.1.0] Compilation with MEDCoupling 9.15.0

Posted: Tue Mar 03, 2026 6:05 pm
by Yvan Fournier
Hello,

The lines in the "configure" are just initializations before the test.

We have had issues with MEDCoupling link on one machine running RHEL 8.8 after a system upgrade due to C++ API achanges, but recompiling both MEDCoupling and code_saturne avoids the problem. An alternative was to add the following code_saturne "configure" options helped:

Code: Select all

CFLAGS_ADD="CFLAGS=--gcc-toolchain=/usr"
CXXFLAGS_ADD="CXXFLAGS=--gcc-toolchain=/usr"
but you error here seems different.

For MED, on that machine, we use

Code: Select all

${MED_SRC}/configure --prefix=${MED_PREFIX} --with-hdf5=${HDF5_PREFIX} --with-med-int=long --disable-fortran --disable-python --disable-static && make && make install && make clean
For MEDCoupling

Code: Select all

${CMAKE} -DCMAKE_INSTALL_PREFIX=$MEDCOUPLING_PREFIX \
-DCONFIGURATION_ROOT_DIR=$MEDCOUPLING_SRC/../configuration-${MEDCOUPLING_VERSION} \
-DMEDCOUPLING_BUILD_DOC=OFF \
-DMEDCOUPLING_BUILD_TESTS=OFF \
-DMEDCOUPLING_ENABLE_PARTITIONER=OFF \
-DMEDCOUPLING_ENABLE_RENUMBER=OFF \
-DMEDCOUPLING_USE_MPI=ON \
-DMEDFILE_ROOT_DIR=$MED_PREFIX \
-DHDF5_ROOT_DIR=$HDF5_PREFIX \
-DHDF5_INCLUDE_DIR=$HDF5_PREFIX/include \
$MEDCOUPLING_SRC
make && make install && make clean
Using MED 5.0.0 and MEDCoupling 9.14.0.

I have not tested with MEDCoupling 9.15 yes, so there might be a compatiility issue is some Enum or type changed. I'll test that locally to see if we need to update the code for compatibility on our side. In the meantime, MEDCoupling 9.14 should work.

Also note that for clusters, I do not use the "install_saturne.py", or at least not just that installer: it can be useful for a basic setup, then yoy can go into the code_saturne build directory, check the configure commend used at the top of the "config.log" file, and re-run configure with additional options.

Additionally, though code_saturne detects environment modules (such as those defined with lmod) automatically, and "saves" the settings to reload the same modules upon execution, if does not specifically handle Conda, so checking the build and usage environments are the same has to be managed on your side. That can be an issue when using the code, but not while building it though.

Best regards,

Yvan