Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

include MED 4.1.1 or libmed #12

Open
tomsail opened this issue Nov 17, 2023 · 7 comments
Open

include MED 4.1.1 or libmed #12

tomsail opened this issue Nov 17, 2023 · 7 comments

Comments

@tomsail
Copy link
Collaborator

tomsail commented Nov 17, 2023

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
Copy link
Owner

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
Copy link
Collaborator Author

tomsail commented Nov 17, 2023

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

@nicogodet
Copy link
Owner

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

@tomsail
Copy link
Collaborator Author

tomsail commented Nov 17, 2023

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
Copy link
Owner

nicogodet commented Nov 17, 2023

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
Copy link
Owner

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

@tomsail
Copy link
Collaborator Author

tomsail commented Nov 17, 2023

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 ? 😉 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants