To be clear, --prefix and OPAL_PREFIX do two different things:

1. "mpirun --prefix" and "/abs/path/to/mpirun" (both documented in mpirun(1)) 
are used to set PATH and LD_LIBRARY_PATH on remote nodes when invoked via 
ssh/rsh.  It's a way of not having to set your shell startup files to point to 
a specific Open MPI installation on remote nodes.  This is helpful for users 
who tend to swap between multiple Open MPI installations.

2. OPAL_PREFIX overrides the compiled-in location in Open MPI binaries and 
libraries for where it should find things like plugins and help files.  It is 
intended for use when you relocate Open MPI installations.

These two can be used in conjunction with each other, if desired, but they are 
intended for two different purposes.

> On Apr 10, 2019, at 9:06 AM, Reuti <> wrote:
>> Am 10.04.2019 um 14:57 schrieb Dave Love <>:
>> In fact, setting OPAL_PREFIX doesn't work for a relocated tree (with
>> OMPI 1.10 or 3.0).  You also need $OPAL_PREFIX/lib and
>> $OPAL_PREFIX/lib/openmpi on LD_LIBRARY_PATH (assuming 
>> $MPI_LIB=$MPI_HOME/lib):
>> $ OPAL_PREFIX=$(pwd)/usr/lib64/openmpi3 ./usr/lib64/openmpi3/bin/mpirun 
>> mpirun true
>> ./usr/lib64/openmpi3/bin/mpirun: error while loading shared libraries: 
>> cannot open shared object file: No such file or directory
> Does export this OPAL_PREFIX also to all child processes? For me using export 
> OPAL_PREFIX=… beforehand worked up to now.
> -- Reuti
> _______________________________________________
> users mailing list

Jeff Squyres

users mailing list

Reply via email to