Skip to content

Commit 299ecfb

Browse files
author
Charles PIGNEROL
committed
Version 7.10.2. Malipp2 writer fix (file corrupted until application is exited). Python 3.12 port.
1 parent c352ea9 commit 299ecfb

File tree

4 files changed

+65
-9
lines changed

4 files changed

+65
-9
lines changed

cmake/python_binding.cmake

+7-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ find_package (SWIG 3 REQUIRED)
99
#find_package (Python REQUIRED COMPONENTS Interpreter Development) # Rem : Python3 a la priorité => inutilisé car empêche l'accès à Python2
1010
if (USE_PYTHON_3)
1111
message (STATUS "========================================= UTILISATION DE PYTHON 3 =========================================")
12+
set (Python3_FIND_STRATEGY LOCATION) # Nécessaire pour python >= 3.10
1213
find_package (Python3 REQUIRED COMPONENTS Interpreter Development)
1314
set (Python_INCLUDE_DIRS ${Python3_INCLUDE_DIRS})
1415
set (Python_EXECUTABLE ${Python3_EXECUTABLE})
@@ -45,7 +46,12 @@ macro (_set_from_python outvar python_code)
4546
endif ( )
4647
endmacro ( )
4748

48-
_set_from_python (_GET_PYTHON_SITEARCH "import sys; from distutils import sysconfig; sys.stdout.write (sysconfig.get_python_lib (plat_specific=True, standard_lib=False, prefix=''))")
49+
if (USE_PYTHON_3) # ATTENTION, ne marche peut être pas pour 3.0 <= python < 3.12. Le cas échéant la commande du else doit convenir.
50+
_set_from_python (_GET_PYTHON_SITEARCH "import os, sys, sysconfig; sitepackages=os.path.relpath (sysconfig.get_path('platlib'), sys.base_prefix); sys.stdout.write (sitepackages)")
51+
else (USE_PYTHON_3)
52+
_set_from_python (_GET_PYTHON_SITEARCH "import sys; from distutils import sysconfig; sys.stdout.write (sysconfig.get_python_lib (plat_specific=True, standard_lib=False, prefix=''))")
53+
endif (USE_PYTHON_3)
54+
4955
set (PYTHON_BINDING_DIR ${_GET_PYTHON_SITEARCH})
5056
set (CMAKE_PYTHON_RPATH_DIR ${CMAKE_INSTALL_PREFIX}/${_GET_PYTHON_SITEARCH})
5157

cmake/version.cmake

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
set (LIMA_MAJOR_VERSION "7")
66
set (LIMA_MINOR_VERSION "10")
7-
set (LIMA_RELEASE_VERSION "1")
7+
set (LIMA_RELEASE_VERSION "2")
88
set (LIMA_VERSION ${LIMA_MAJOR_VERSION}.${LIMA_MINOR_VERSION}.${LIMA_RELEASE_VERSION})
99

1010

installation.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_
2020
-DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_XLMLIMA=ON -DBUILD_TESTS:BOOL=ON -DBUILD_SCRIPTING:BOOL=ON -DMACHINE_TYPES:BOOL=OFF -DSUMESH:BOOL=OFF -DFORMAT_MLI:BOOL=OFF -DFORMAT_MLI2:BOOL=ON -DFORMAT_MLI2:BOOL=ON \
2121
-DBUILD_SHARED_LIBS:BOOL=ON -DINT_8:BOOL=ON -DREAL_8:BOOL=ON \
2222
-DSWIG_EXECUTABLE=/opt/swig/4.1.1/bin/swig -DPython2_ROOT_DIR=/usr/lib/python2.7 -DHDF5_ROOT=/opt/HDF5/1.12.0 \
23-
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.0
23+
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.2
2424
cmake --build /tmp/lima_build_dir
2525
cmake --install /tmp/lima_build_dir
2626

@@ -30,7 +30,7 @@ cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DCMAKE_
3030
-DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_XLMLIMA=ON -DBUILD_TESTS:BOOL=ON -DBUILD_SCRIPTING:BOOL=ON -DMACHINE_TYPES:BOOL=ON -DSUMESH:BOOL=ON -DFORMAT_MLI:BOOL=ON -DFORMAT_MLI2:BOOL=ON \
3131
-DBUILD_SHARED_LIBS:BOOL=ON -DINT_8:BOOL=ON -DREAL_8:BOOL=ON \
3232
-DSWIG_EXECUTABLE=/opt/swig/4.1.1/bin/swig -DPython2_ROOT_DIR=/usr/lib/python2.7 -DHDF5_ROOT=/opt/HDF5/1.12.0 -DHDF145_INCLUDE_DIR=/opt/hdf145/1.3.0/include -DHDF145CPP_LIBRARY=/opt/hdf145/1.3.0/lib/libhdf145_cpp.so -DHDF145_LIBRARY=/opt/hdf145/1.3.0/lib/libhdf145.so \
33-
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.0
33+
-B /tmp/lima_build_dir -DCMAKE_INSTALL_PREFIX=/opt/Lima/7.10.2
3434
cmake --build /tmp/lima_build_dir
3535
cmake --install /tmp/lima_build_dir
3636

src/Lima/malipp2.cpp

+55-5
Original file line numberDiff line numberDiff line change
@@ -2041,27 +2041,41 @@ static size_t computeChunkSize (size_t count, size_t elementSize)
20412041

20422042

20432043
MaliPPWriter2::MaliPPWriter2 (const IN_STD string& nom_fichier, size_type num)
2044-
: m_fileName(nom_fichier), m_meshNum(num),
2044+
: m_fileName(nom_fichier), m_meshNum(num), m_meshGroup ( ), m_hdfFile ( ),
20452045
m_dim(D3),
20462046
m_unilo(1.),
20472047
m_unia(1.),
20482048
m_geom(NORMAL),
20492049
m_tycoo(CARTESIEN),
20502050
m_titre(""),
20512051
m_date(""),
2052+
m_nbMeshAttributes (0),
2053+
m_meshAttributesGroup ( ),
20522054
m_nodesIsContiguous(false),
20532055
m_nodeIndexCurrent(0),
20542056
m_nbNodes(0),
2057+
m_nbNodeSet (0),
2058+
m_nbNodeAttributes (0),
2059+
m_nbNodeSetsAttributes (0),
20552060
m_edgesIsContiguous(false),
20562061
m_edgeIndexCurrent(0),
20572062
m_nbEdges(0),
2063+
m_nbEdgeSet (0),
2064+
m_nbEdgeAttributes (0),
2065+
m_nbEdgeSetsAttributes (0),
20582066
m_facesIsContiguous(false),
20592067
m_faceIndexCurrent(0),
20602068
m_nbFaces(0),
2069+
m_nbFaceSet (0),
2070+
m_nbFaceAttributes (0),
2071+
m_nbFaceSetsAttributes (0),
20612072
m_nbNodesPerFaceIndexCurrent(0),
20622073
m_regionsIsContiguous(false),
20632074
m_regionIndexCurrent(0),
20642075
m_nbRegions(0),
2076+
m_nbRegionSet (0),
2077+
m_nbRegionAttributes (0),
2078+
m_nbRegionSetsAttributes (0),
20652079
m_nbNodesPerRegionIndexCurrent(0)
20662080
{
20672081

@@ -2384,10 +2398,46 @@ void MaliPPWriter2::close ( )
23842398
writeComposition (m_regionSetCompo[igrp], CELL3D_COMPOSITION_DATASET_NAME, m_regionSetGroups[igrp]);
23852399
}
23862400

2387-
m_meshGroup = Group ( );
2388-
m_hdfFile->flush(H5F_SCOPE_LOCAL);
2389-
m_hdfFile->close();
2390-
m_hdfFile.reset (0);
2401+
m_meshGroup = Group ( );
2402+
m_meshAttributesGroup = Group ( );
2403+
m_nodeGroup = Group ( );
2404+
m_nodeZCoordDataSet = DataSet ( );
2405+
m_nodeYCoordDataSet = DataSet ( );
2406+
m_nodeXCoordDataSet = DataSet ( );
2407+
m_nodeIdsDataSet = DataSet ( );
2408+
m_nodeSetGroup = Group ( );
2409+
m_nodeSetGroups.clear ( );
2410+
m_nodeSetIdsDataSet.clear ( );
2411+
m_nodeAttributesGroup = Group ( );
2412+
m_nodeSetsAttributesGroup = Group ( );
2413+
m_edgeGroup = Group ( );
2414+
m_edge2nodeIdsDataSet = DataSet ( );
2415+
m_edgeIdsDataSet = DataSet ( );
2416+
m_edgeSetGroup = Group ( );
2417+
m_edgeSetGroups.clear ( );
2418+
m_edgeSetIdsDataSet.clear ( );
2419+
m_edgeAttributesGroup = Group ( );
2420+
m_edgeSetsAttributesGroup = Group ( );
2421+
m_faceGroup = Group ( );
2422+
m_face2nodeIdsDataSet = DataSet ( );
2423+
m_nbNodesPerFaceDataSet = DataSet ( );
2424+
m_faceIdsDataSet = DataSet ( );
2425+
m_faceSetGroup = Group ( );
2426+
m_faceSetGroups.clear ( );
2427+
m_faceSetIdsDataSet.clear ( );
2428+
m_faceAttributesGroup = Group ( );
2429+
m_faceSetsAttributesGroup = Group ( );
2430+
m_regionGroup = Group ( );
2431+
m_region2nodeIdsDataSet = DataSet ( );
2432+
m_nbNodesPerRegionDataSet = DataSet ( );
2433+
m_regionIdsDataSet = DataSet ( );
2434+
m_regionSetGroup = Group ( );
2435+
m_regionSetGroups.clear ( );
2436+
m_regionSetIdsDataSet.clear ( );
2437+
m_regionAttributesGroup = Group ( );
2438+
m_regionSetsAttributesGroup = Group ( );
2439+
2440+
m_hdfFile.reset (0); // CP : invoque close ( )
23912441

23922442
COMPLETE_TRY_CATCH_BLOCK
23932443
if (throwExc) {

0 commit comments

Comments
 (0)