Alneos / vega

Finite element format converter
GNU General Public License v2.0
23 stars 9 forks source link

mpi.h not found #21

Closed benoitpaillard closed 5 years ago

benoitpaillard commented 5 years ago

I'm getting the following error while building on ubuntu 18.04

In file included from /usr/include/hdf5/openmpi/hdf5.h:24:0,
                 from /usr/include/med.h:22,
                 from /home/jony/vega/Abstract/MeshComponents.h:41,
                 from /home/jony/vega/Abstract/Analysis.h:34,
                 from /home/jony/vega/Abstract/Analysis.cpp:28:
/usr/include/hdf5/openmpi/H5public.h:61:13: fatal error: mpi.h: No such file or directory
 #   include <mpi.h>
             ^~~~~~~

Any idea is welcome ! I did not know mpi was used by vega

ldallolio-irt commented 5 years ago

Hi, in fact mpi is not used by Vega at all, but Vega uses a library called MED File and MED is based on the HDF library. HDF and MED can both use MPI or not, depending on how one chooses to compile them.

The best way to get a working MED library without installing MPI is to take it from Code_Aster (from the Salome_Meca binary version or compile it from sources ).

Once Salome_Meca is installed, MED and HDF should be configured using CMake image

For example, here is the result of a Vega compilation, no MPI involved:

$ ldd ./build/bin/vegapp 
    linux-vdso.so.1 (0x00007ffd2eef1000)
    libboost_program_options.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.65.1 (0x00007f3c6491d000)
    libboost_filesystem.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.65.1 (0x00007f3c64703000)
    libboost_system.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 (0x00007f3c644fe000)
    libmedC.so.1 => /local/tools/salome_meca/V2018.0.1_public/prerequisites/Medfichier-331/lib/libmedC.so.1 (0x00007f3c641d5000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3c63e4c000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3c63aae000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3c63896000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3c63677000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3c63286000)
    libhdf5.so.9.0.0 => /local/tools/salome_meca/V2018.0.1_public/prerequisites/Hdf5-1814/lib/libhdf5.so.9.0.0 (0x00007f3c62c6c000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3c6636e000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3c62a68000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f3c6284b000)

I know this is not the easiest part, please write me again if you have any difficulty about this

ldallolio commented 5 years ago

Closing this issue, no feedback since November

benoitpaillard commented 4 years ago

Hi and thank you, I tried again lately with the command

cmake -DCMAKE_BUILD_TYPE=SRelease -DHDF5_C_LIBRARY_hdf5=~/salome_meca/V2019.0.3_universal/prerequisites/Hdf5-1103/lib/libhdf5.so.103.0.0 -DMEDFILE_C_LIBRARIES=~/salome_meca/V2019.0.3_universal/prerequisites/Medfichier-400/lib/libmedC.so -DASTER_EXEC=~/salome_meca/V2019.0.3_universal/tools/Code_aster_frontend-20190/bin/as_run ../..

Which is supposed to configure cmake like you suggest, but without any luck.

any help appreciated, thanks !