Hi,

I'm having difficulty launching an Open MPI job onto a machine that is running the Bourne shell.

Here's my basic setup. I have two machines, one is an x86-based machine running bash and the other is a Cell-based machine running Bourne shell. I'm running mpirun from the x86 machine, which launches a C++ MPI application onto the Cell machine. I get the following error:

error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

The basic problem is that LD_LIBRARY_PATH needs to be set to the directory that contains libstdc++.so.6 for the Cell. I set the following line in .profile:

   export LD_LIBRARY_PATH=/opt/cell/toolchain/lib/gcc/ppu/4.1.1/32

which is the path to the PPC libraries for Cell.

Now if I log directly into the Cell machine and run the program directly from the command line, I don't get the above error. But mpirun still fails, even after setting LD_LIBRARY_PATH in .profile.

As a sanity check, I did the following. I ran the following command from the x86 machine:

   mpirun -np 1 --host cab0 env

which, among others things, shows me the following value:

   LD_LIBRARY_PATH=/tools/openmpi-1.2.5/lib:

If I log into the Cell machine and run env directly from the command line, I get the following value:

   LD_LIBRARY_PATH=/opt/cell/toolchain/lib/gcc/ppu/4.1.1/32

So it appears that .profile gets sourced when I log in but not when mpirun runs.

However, according to the OpenMPI FAQ (http://www.open-mpi.org/faq/?category=running#adding-ompi-to-path ), mpirun is supposed to directly call .profile since Bourne shell doesn't automatically call it for non-interactive shells.

Does anyone have any insight as to why my environment isn't being set properly? Thanks!

Hahn

--
Hahn Kim, h...@ll.mit.edu
MIT Lincoln Laboratory
244 Wood St., Lexington, MA 02420
Tel: 781-981-0940, Fax: 781-981-5255






Reply via email to