nicogodet / telemac-mascaret-feedstock

https://anaconda.org/nicogodet/opentelemac
2 stars 2 forks source link

include MED 4.1.1 or libmed #12

Open tomsail opened 10 months ago

tomsail commented 10 months ago

Here is an exttract of the systel.linux.cfg for compiling with MED librairies.

#
# MED info
#
flags_med: -DHAVE_MED
libs_med: -lm -lmed -lhdf5 -ldl -lstdc++ -lz
...
[gnu.dynamic]
brief: Scibian 10 dynamic build using GFortran 8.3.0 and Open MPI.
options: api
#
f2py_name: f2py3
pyd_fcompiler: gnu95
sfx_lib:    .so
#
obj_flags: -O2 -fPIC [fflags_gfo] [flags_mpi] [flags_mumps] [flags_gotm] [flags_aed] [flags_med]
lib_flags: -fPIC -shared [fflags_gfo]
#
exe_flags: -fPIC [fflags_gfo]
#
cmd_lib:    [fc] [lib_flags] -o <libname> <objs>
incs_all: 
libs_all: [libs_so_mumps] [libs_metis] [libs_aed] [libs_gotm] [libs_med]
cflags: -fPIC
#

2 different tentatives have been made :

  1. Trying with med-otm : The error I get is the following:

    
    - completed: .../telemac-mascaret/builds/gnu.dynamic/lib/libtelemac3d4api.so
    - completed: .../telemac-mascaret/builds/gnu.dynamic/lib/libartemis4api.so
    /home/tomsail/miniconda3/conda-bld/opentelemac_1698950324172/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1698950324172/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/lib/libmed.so: undefined reference to `memcpy@GLIBC_2.14'
    collect2: error: ld returned 1 exit status

    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:

    • pining the compiler (not really keen to do it)
    • installing MED in the build.sh when building telemac (not sure either, but still better than option 1)
    • using a fixed version from conda-forge (tried today 2023/11/17), but still fails : see below
    1. Trying with libmed : the error I get is the following :
      - completed: .../opentelemac/builds/gnu.dynamic/lib/libtelemac3d4api.so
      - completed: .../opentelemac/builds/gnu.dynamic/lib/libartemis4api.so
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfacre_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdnfd_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mprnpr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdrvr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhgnr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mficom_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhcyr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mprcre_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mficow_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhfnr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdcsi_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhcow_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mficor_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhmii_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdrvw_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfanfg_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfanfa_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfafai_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhnme_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mprivw_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdcre_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdncn_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdfin_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhgnw_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mficlo_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mprivr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhfnw_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfinvr_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhnax_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfdfdi_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhcre_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhcor_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mprpri_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mfiope_'
      /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placeho/bin/../lib/gcc/x86_64-conda-linux-gnu/12.3.0/../../../../x86_64-conda-linux-gnu/bin/ld: /home/tomsail/miniconda3/conda-bld/opentelemac_1700214085103/work/opentelemac/builds/gnu.dynamic/lib/libhermes4api.so: undefined reference to `mmhcyw_'
      collect2: error: ld returned 1 exit status
nicogodet commented 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...

tomsail commented 10 months ago

indeed it is the same version. That's why I couldn't find the source of the problem

nicogodet commented 10 months ago

in 1, it could be related to hdf5 package. On windows, I packed my own hdf5 and used it for med

tomsail commented 10 months ago

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

nicogodet commented 10 months ago

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.

nicogodet commented 10 months ago

Note that you can also generate a patch file to patch v8p4 release for hermes generation with numpy >=1.25

tomsail commented 10 months ago

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.