Sorry for the delay in answering.  More below.

On Oct 23, 2009, at 4:02 AM, Francesco Pietra wrote:

I have also put the 1.3.3 version (gfortran) on the path:

#For openmpi-1.2.6 Intel compiler

if [ "$LD_LIBRARY_PATH" ] ; then
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
else
  export LD_LIBRARY_PATH="/usr/local/lib"
fi

#For openmpi-1.3.3 gnu (gfortran) compiled

if [ "$LD_LIBRARY_PATH" ] ; then
  export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/lib"
else
  export LD_LIBRARY_PATH="/opt/lib"
fi


I think you're going to run into issues with the above scheme.

In particular, if you have both the 1.2.6 and 1.3.3 libraries in your LD_LIBRARY_PATH, then the *first* libmpi.so (etc.) is going to be used -- i.e., the 1.2.6 version. This is just the way Linux works -- it can't know that you want the 2nd libmpi.so (or 3rd or 4th or ...); it always just takes the first matching library that it finds.

francesco@tya64:~$ $PATH
bash: /opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/10.1.015/ bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/local/ chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/cce/ 10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/ local/chimera/bin:/opt/etsf/bin:/usr/local/delphi_4.1.1:/opt/intel/ cce/10.1.015/bin:/opt/intel/fce/10.1.015/bin:/usr/local/bin/vmd:/usr/ local/chimera/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/home/ francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/local/dock6/ bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/amber10/exe:/usr/ local/dock6/bin:/home/francesco/hole2/exe:/opt/bin:/usr/local/ amber10/exe:/usr/local/dock6/bin:
No such file or directory


Note that typing "$PATH" at a shell prompt is not a valid command, which is why you're getting the error message. I think you want "echo $PATH". Ditto for "echo $LD_LIBRARY_PATH".

To get info, I have to command

$ /opt/bin/ompi_info
which reports correctly.

$ ompi_info
reports about previous installation of 1.2.6 version (intel).


Correct. There is deep mojo involved here; I can explain it all if you care, but the *easiest* solution is just to have one Open MPI in your PATH/LD_LIBRARY_PATH at a time. A common mechanism that people use is a software package called "modules" that allows simple switching of your run-time environment. For example:

shell$ module load ompi/1.2.6
shell$ ompi_info
...shows the correct output for 1.2.6
shell$ module unload ompi
shell$ module load ompi/1.3.3
shell$ ompi_info
...shows the correct output for 1.3.3

Check out modules -- http://modules.sf.net/ -- and see if that helps you.

If you want further explanations, let me know, but it gets a bit complicated. :-)

--
Jeff Squyres
jsquy...@cisco.com

Reply via email to