Quicknote:
I (hopefully the same applies to someone else) can recreate the problem
with the hello example supplied.
If I start lamboot with....
1.) lamboot mynodes (where mynodes is boot schema listing 2 nodes)
then compile the hello example with following....
2.) mpic++ hello.c
then executing ....
3.) mpirun N -c 2 a.out
I get....
a.out: error while loading shared libraries: libstdc++.so.3: cannot open
shared object file: No such file or directory
-----------------------------------------------------------------------------
It seems that [at least] one of the processes that was started with
mpirun did not invoke MPI_INIT before quitting (it is possible that
more than one process did not invoke MPI_INIT -- mpirun was only
notified of the first one, which was on node n0).
mpirun can *only* be used with MPI programs (i.e., programs that
invoke MPI_INIT and MPI_FINALIZE). You can use the "lamexec" program
to run non-MPI programs over the lambooted nodes.
-----------------------------------------------------------------------------
However I *don't* get the error if step 1.) becomes 'lamboot' or step
2.) becomes 'mpicc hello.c'
ps. another note...
I also tried adding /usr/local/lib to /etc/ld.so.conf but still no joy?
Cheers
Michael Lees wrote:
> Hi everyone,
>
> I'm having some trouble running my program.
>
> So far I've been testing my program running lamboot without a boot
> schema file so that it runs on one node.
>
> Today I've come to test the same program except I now supply a boot
> schema with two machines listed. I assumed this wouldn't cause a problem.
>
> However when I recompile my code and start 'lamboot mynodes' my program
> gives the following error upon execution...
>
> apps/testcode2: error while loading shared libraries: libstdc++.so.3:
> cannot open shared object file: No such file or directory
> -----------------------------------------------------------------------------
>
> It seems that [at least] one of the processes that was started with
> mpirun did not invoke MPI_INIT before quitting (it is possible that
> more than one process did not invoke MPI_INIT -- mpirun was only
> notified of the first one, which was on node n0).
>
> mpirun can *only* be used with MPI programs (i.e., programs that
> invoke MPI_INIT and MPI_FINALIZE). You can use the "lamexec" program
> to run non-MPI programs over the lambooted nodes.
> -----------------------------------------------------------------------------
>
>
>
> This is strange as I've managed to compile and install the lam 7.0 code
> and this requires libstdc++.so.3.
>
> Anyhow, ls -al /usr/local/lib/libstdc++.so.3 gives...
>
> lrwxrwxrwx 1 root root 18 Mar 5 17:31
> /usr/local/lib/libstdc++.so.3 -> libstdc++.so.3.0.2
>
>
> So I checked echo $LD_LIBRARY_PATH and this gives me...
> /usr/local/lib:/usr/local/RTI-1.3NGv6/Linux-rh7.2-i386-gcc-3.0.2-opt-mt/lib:
>
>
> Anyone know why it can't find the library??
> And why does it only complain when I try to use a remote machine?
>
> ps. the /usr/local directory of the root node is mounted on the other
> machine so they both see the same /usr/local/lib.
> The same applies to /home and hence $LD_LIBRARY_PATH is the same on both
> machines.
>
>
> I apologise if I'm missing something obvious, I just can't understand
> what the problem is? :|
>
> Thanks
>
--
Mike
|