Open tomsail opened 10 months ago
Although I checked, doing mamba list for opentelemac:
libgfortran5 13.2.0 ha4646dd_2 conda-forge
and for med-otm:libgfortran5 13.2.0 ha4646dd_2 conda-forge
Typo ? Same version
It might be the root cause indeed...
indeed it is the same version. That's why I couldn't find the source of the problem
in 1, it could be related to hdf5 package. On windows, I packed my own hdf5 and used it for med
No it didn't. (Maybe I did something wrong there, because I would expect it to work) I explained it in the other issue thread:
checking absolute name of <H5public.h>... checking for H5public.h... yes
//$BUILD_PREFIX/include/H5public.h
expr: non-integer argument
configure: error:
This HDF5 version #define H5_VERS_MAJOR 1.#define H5_VERS_MINOR 14.#define H5_VERS_RELEASE 2 must not be used with med-fichier4.1.1.
The HDF5 library version used by med-fichier4.y.z MUST NOT be > 1.10 and have to be at least HDF5-1.10.2.
DO NOT TRY TO COMPILE med-fichier4.1.1 version with an HDF5 library which would generate an hdf5 file not compliant with HDF5-1.10.z library.
This would BREAK med-fichier compatibility between files with the same revision number !
If you want to reproduce : I implemented a hdf5 branch mirroring from their official repository.
Then there is another problem / limitation that I see with MED: it adds another constraint on the build i.e. HDF5 < 1.11 which is another obstacle to make the library cross-compatible with other libraries (like eccodes for instance).
This would be counter productive to pin hdf5 as I finally released the pin on numpy.
FIY: I am doing matrix builds on python/numpy/MPI using this script that I will eventually add in the repo:
# Define your matrices
python_versions=("3.8" "3.9" "3.10" "3.11" "3.12")
numpy_versions=("1.19" "1.20" "1.21" "1.22" "1.23" "1.24" "1.25" "1.26")
mpi_versions=("openmpi" "mpich")
# File to store the build results
results_file="build_results.txt"
# Loop over each configuration
for py in "${python_versions[@]}"; do
for np in "${numpy_versions[@]}"; do
for mpi in "${mpi_versions[@]}"; do
echo "Building for Python $py, NumPy $np, and MPI $mpi"
# Run conda build and check the result
if conda build recipe --variants="{mpi: '$mpi', python: '$py', numpy: '$np'}" -c tomsail; then
# If build succeeds
echo "SUCCESS: Python $py, NumPy $np, MPI $mpi" >> "$results_file"
else
# If build fails
echo "FAIL: Python $py, NumPy $np, MPI $mpi" >> "$results_file"
fi
done
done
done
I will test on v8p4r0 and main. Expecting the builds on main to add much more versions of numpy. For more context, I started implementing TELEMAC in pyposeidon and couldn't get anywhere because of the pin on numpy. I will report back to @sebourban and Boris on the forum as soon as I get the results for both of these branches
I think we should start working on conda-forge integration with minimal build (full build, mpi, no med, no mumps, no aed, no gotm) on linux and macOS and progressively increase complexity by solving dependencies issues.
Note that you can also generate a patch file to patch v8p4 release for hermes generation with numpy >=1.25
I think we should start working on conda-forge integration with minimal build (full build, mpi, no med, no mumps, no aed, no gotm) on linux and macOS and progressively increase complexity by solving dependencies issues.
agreed. I still need to check their documentation to do it right. Or I let you you take the lead ? :wink: Once @brey has sorted the compilation on osx
, we can create a minimal branch and start from there.
Note that you can also generate a patch file to patch v8p4 release for hermes generation with numpy >=1.25
I've never done it before, I'd be keen to more about this workaround. Also I am creating a new issue on numpy / python versions, we should talk about this there.
Here is an exttract of the systel.linux.cfg for compiling with MED librairies.
2 different tentatives have been made :
Trying with
med-otm
: The error I get is the following:Which seems to be linked with the fact that I don't strictly use the same GNU compilers Although I checked, doing mamba list for opentelemac:
libgfortran5 13.2.0 ha4646dd_2 conda-forge
and for med-otm:libgfortran5 13.2.0 ha4646dd_2 conda-forge
The fix would be either:libmed
: the error I get is the following :