Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Michael (mklus_at_[hidden])
Date: 2007-03-15 12:18:53

I'm having trouble with the portability of executables compiled with
OpenMPI. I suspect the sysadms on the HPC system I'm using changed
something because I think it worked previously.

Situation: I'm compiling my code locally on a machine with just
ethernet interfaces and OpenMPI 1.1.2 that I built.

When I attempt to run that executable on a HPC machine with OpenMPI
1.1.2 and InfiniBand interfaces I get messages about "can't find" -- I'm certain this wasn't happening earlier.

I can compile on this machine and run on it, even though there is no
libmosal.* in my path.

mpif90 --showme on this system gives me:

/opt/compiler/intel/compiler91/x86_64/bin/ifort -I/opt/mpi/x86_64/
intel/9.1/openmpi-1.1.4/include -pthread -I/opt/mpi/x86_64/intel/9.1/
openmpi-1.1.4/lib -L/opt/mpi/x86_64/intel/9.1/openmpi-1.1.4/lib -L/
opt/gm/lib64 -lmpi_f90 -lmpi -lorte -lopal -lgm -lvapi -lmosal -lrt -
lnuma -ldl -Wl,--export-dynamic -lnsl -lutil -ldl

I suspect that read access to has been removed and
somehow when I link on this machine I'm getting a static library,
i.e. libmosal.a

Does this make any sense?

Is there a flag in this compile line that permits linking an
executable even when the person doing the linking does not have
access to all the libraries, i.e. export-dynamic?