-
Notifications
You must be signed in to change notification settings - Fork 29
Problems running FLUSI
Thomas Engels edited this page Dec 16, 2018
·
1 revision
Question:
When I do:
./flusi -p --vorticity ux_00.h5 uy_00.h5 uz_00.h5 vorx_00.h5 vory_00.h5 vorz_00.h5
I get the following message:
./flusi: symbol lookup error: /usr/lib/libmpi_mpifh.so.12: undefined symbol: mpi_fortran_weights_empty
However, when I run it using mpirun
:
mpirun -np 1./flusi -p --vorticity ux_00.h5 uy_00.h5 uz_00.h5 vorx_00.h5 vory_00.h5 vorz_00.h5
It works. What does it mean?
Answer:
This is not a problem specific to our code, but rather to your specific MPI
implementation and bash environment. I know that on some openMPI
solutions, we had a similar problem, and it was also quite typical for UBUNTU based distributions. I think it is an LD_LIBRARY_PATH
issue: the MPI
runtime libraries are not automatically available, unless the MPI command mpirun
is explicitly invoked. On my machine, which is running FEDORA 29
, I can see :
[engels@figuerolles FLUSI]$ module avail
---------------- /usr/share/Modules/modulefiles -----------------
dot module-git module-info modules null use.own
----------------------- /etc/modulefiles ------------------------
mpi/mpich-x86_64
-------------------- /usr/share/modulefiles ---------------------
mpi/openmpi-x86_64 python-sphinx/python3-sphinx
[engels@figuerolles FLUSI]$ module show mpi/mpich-x86_64
-----------------------------------------------------------------
/etc/modulefiles/mpi/mpich-x86_64:
conflict mpi
setenv MPI_BIN /usr/lib64/mpich/bin
setenv MPI_SYSCONFIG /etc/mpich-x86_64
setenv MPI_FORTRAN_MOD_DIR /usr/lib64/gfortran/modules/mpich
setenv MPI_INCLUDE /usr/include/mpich-x86_64
setenv MPI_LIB /usr/lib64/mpich/lib
setenv MPI_MAN /usr/share/man/mpich-x86_64
setenv MPI_PYTHON_SITEARCH /usr/lib64/python2.7/site-packages/mpich
setenv MPI_PYTHON2_SITEARCH /usr/lib64/python2.7/site-packages/mpich
setenv MPI_PYTHON3_SITEARCH /usr/lib64/python3.7/site-packages/mpich
setenv MPI_COMPILER mpich-x86_64
setenv MPI_SUFFIX _mpich
setenv MPI_HOME /usr/lib64/mpich
prepend-path PATH /usr/lib64/mpich/bin
prepend-path LD_LIBRARY_PATH /usr/lib64/mpich/lib
prepend-path MANPATH :/usr/share/man/mpich-x86_64
prepend-path PKG_CONFIG_PATH /usr/lib64/mpich/lib/pkgconfig
-----------------------------------------------------------------
[engels@figuerolles FLUSI]$ ./flusi
nothing to do; the argument is unkown..
[engels@figuerolles FLUSI]$
so the problem does not appear. Notice the module appends /usr/lib64/mpich/lib
to the LD_LIBRARY_PATH