Issue with static linking of mpi
by default, I see the following links on the complied code.
libopenblas.so.0 => /home/vigeesh/conda/envs/gris_env/lib/libopenblas.so.0 (0x00007fbbe7119000)
libmpi.so.12 => /home/vigeesh/conda/envs/gris_env/lib/libmpi.so.12 (0x00007fbbe65ad000)
libmpifort.so.12 => /home/vigeesh/conda/envs/gris_env/lib/libmpifort.so.12 (0x00007fbbe9240000)
libgfortran.so.5 => /home/vigeesh/conda/envs/gris_env/lib/libgfortran.so.5 (0x00007fbbe640d000)
but if I have mpi loaded, even before I compile.
module load mpi/openmpi-x86_64
then, mpi
seems to not use the conda path.
libopenblas.so.0 => /home/vigeesh/conda/envs/gris_env/lib/libopenblas.so.0 (0x00007effb110c000)
libmpi.so.12 => /usr/lib64/openmpi/lib/libmpi.so.12 (0x00007effb0e28000)
libmpifort.so.12 => /home/vigeesh/conda/envs/gris_env/lib/libmpifort.so.12 (0x00007effb3233000)
libgfortran.so.5 => /home/vigeesh/conda/envs/gris_env/lib/libgfortran.so.5 (0x00007effb0c88000)
I guess, this a problem with mpif90
provided by mpi4py
, although it seems to use proper rpath
the default, shows,
$ /usr/lib64/openmpi/bin/mpif90 -showme
gfortran -I/usr/include/openmpi-x86_64 -pthread -m64 -I/usr/lib64/openmpi/lib -Wl,-rpath -Wl,/usr/lib64/openmpi/lib -Wl,--enable-new-dtags -L/usr/lib64/openmpi/lib -lmpi_usempi -lmpi_mpifh -lmpi
the conda one, shows,
$ /home/vigeesh/conda/envs/gris_env/bin/mpif90 -show
x86_64-conda-linux-gnu-gfortran -I/home/vigeesh/conda/envs/gris_env/include -L/home/vigeesh/conda/envs/gris_env/lib -Wl,-rpath,/home/vigeesh/conda/envs/gris_env/lib -I/home/vigeesh/conda/envs/gris_env/include -I/home/vigeesh/conda/envs/gris_env/include -L/home/vigeesh/conda/envs/gris_env/lib -lmpifort -Wl,-rpath -Wl,/home/vigeesh/conda/envs/gris_env/lib -Wl,--enable-new-dtags -lmpi